亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用 log4j2.xml 初始化 slf4j

用 log4j2.xml 初始化 slf4j

呼啦一陣風 2021-09-15 16:01:22
我想在 log4j 上使用 slf4j。我在 pom.xml 中添加了以下依賴項(我使用 1.7.25 for slf4j 和 2.10.0 for log4j2):<dependencies>    <dependency>        <groupId>org.slf4j</groupId>        <artifactId>slf4j-api</artifactId>        <version>${slf4j.version}</version>    </dependency>    <dependency>       <groupId>org.apache.logging.log4j</groupId>       <artifactId>log4j-slf4j-impl</artifactId>       <version>${log4j.version}</version>    </dependency>    <dependency>       <groupId>org.apache.logging.log4j</groupId>       <artifactId>log4j-api</artifactId>       <version>${log4j.version}</version>    </dependency>    <dependency>       <groupId>org.apache.logging.log4j</groupId>       <artifactId>log4j-core</artifactId>       <version>${log4j.version}</version>    </dependency></dependencies> 一切都很好,沒有編譯錯誤或缺乏依賴項,但我未能在我的類中指定負責 Logger 初始化的配置 (log4j2.xml) 文件。在這種情況下,它總是打印相同的警告log4j:WARN No appenders could be found for logger (com.mypackage.etc).log4j:WARN Please initialize the log4j system properly.log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.我搜索了一種提供配置文件的正確方法,結果是這樣的:LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);File file = new File("path/to/a/different/log4j2.xml");context.setConfigLocation(file.toURI());問題是,在我的情況下,LogManager.getContext(false) 將始終返回 Slf4JLoggerContext 的實例(考慮到我使用 slf4j 作為記錄器的外觀)并且初始化將因 ClassCastException 而失敗。我試圖存儲 Slf4JLoggerContext 的實例,但它沒有為上下文提供設置器。我也沒有找到從 log4j 中檢索 LoggerContext 的方法。有沒有辦法將配置文件(log4j2.xml)提供給 slf4j 以便查看所有的 appender 和 loggers?
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 429 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號