![](/img/trans.png)
[英]ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console
[英]log4j2 - StatusLogger No Log4j 2 configuration file found. Using default configuration
這是我的配置文件:
<Configuration status="INFO">
<Properties>
<Property name="log-path">./log</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${log-path}/mylog.log" filePattern="${log-path}/mylog-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%p]\t%m%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="10 MB" />
</Policies>
<DefaultRolloverStrategy max="32" />
</RollingFile>
<Console name="STDOUT" target="SYSTEM_OUT" ignoreExceptions="false">
<PatternLayout>
<pattern>%n%d{yyyy-MM-dd HH:mm:ss.SSS} [%p]\t%m</pattern>
</PatternLayout>
</Console>
</Appenders>
<Loggers>
<Logger name="mylog" level="debug" additivity="false">
<appender-ref ref="RollingFile" level="DEBUG" />
<appender-ref ref="STDOUT" level="DEBUG" />
</Logger>
</Loggers>
</Configuration>
但是我收到以下錯誤:
ERROR StatusLogger未找到Log4j 2配置文件。 使用默認配置(僅將錯誤記錄到控制台)或用戶以編程方式提供的配置。 設置系統屬性'log4j2.debug'以顯示Log4j 2內部初始化日志記錄。 有關如何配置Log4j 2的說明,請參閱https://logging.apache.org/log4j/2.x/manual/configuration.html
我該如何解決?
這是我的Maven依賴:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.0</version>
</dependency>
日志配置文件讀取非常清楚,因為它使用我/ log目錄中定義的模式正確寫入。
這是我在我的代碼中實例化它的方式:
LoggerContext lcontext = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false)
Logger logger = LogManager.getLogger("mylog");
我已經在我的Spring Boot應用程序中修改了這個,將log4j2.xml放在src/main/resources
文件夾中。 它仍然在編譯期間給我“找到StatusError No Log4j 2配置文件”,但是當它運行時,它實際上跟隨我的配置。 希望這可以幫助。
您應該能夠使用System.setProperty("log4j.configurationFile", log4j2ConfigFile);
告訴系統log4j2配置文件的位置System.setProperty("log4j.configurationFile", log4j2ConfigFile);
在我的情況下,我將文件保存在src / main / resources。 但是Log4J仍然無法找到它,因為Maven插件創建的JAR不包含log4j2.xml文件。
為了解決這個問題,我將文件保存在文件夾的根目錄下(就在pom.xml旁邊)。 現在,當我使用Maven插件創建JAR文件時,Log4j可以訪問它。 它奏效了! :)
希望這會幫助你。
來自log4j-user-guide 6.1.1配置 :
- 如果沒有位置.... WEB-INF目錄中的“log4j2”...
但這不起作用(至少在我的情況下)。 以下工作:
WEB-INF /班/ log4j2.xml
希望這可以幫助。
應用服務器:wildfly 14
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.