java - log4j2 - StatusLogger 找不到 Log4j 2 配置文件。使用默认配置
问题描述
这是我的配置文件:
<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>
但我收到以下错误:
错误 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");
解决方案
我通过将log4j2.xml放在src/main/resources
文件夹中,在我的 Spring Boot 应用程序中解决了这个问题。它在编译期间仍然给我“StatusError No Log4j 2 configuration file found”,但是当它运行时,它实际上遵循我的配置。希望这可以帮助。
推荐阅读
- javascript - 从数据中获取值(Typescript)
- python - 如何从 .txt 中查找匹配的单词
- javascript - 为什么每个容器的第一个按钮发送他们的类型值但其他按钮不能发送
- android-support-library - 使用带有 Android 导航 UI 库的 BottomNavigationView 进行导航时从操作栏中删除向上按钮
- javascript - Uncaught SyntaxError: Unexpected token { in JSON at position 96
- php - PHP 关联数组的意外行为——为什么?
- python - 通过消除三个 for 循环来提高时间效率
- php - 编辑WordPress“wp_posts”数据库表上“comment_count”列数据的功能
- javascript - 避免在 Javascript 中使用科学记数法
- angular - 动态改变 Ionic App 的原色