【发布时间】:2016-08-05 05:23:48
【问题描述】:
我使用mvn exec:java -Dexec.mainClass=my.Class 在命令行上运行。当程序运行时,我有一些调试输出,我想记录下来。
我使用private static Logger logger = LoggerFactory.getLogger("mylogger"); 来初始化记录器。我在 log4j.properties 中这样配置它:
log4j.appender.mylogger=org.apache.log4j.DailyRollingFileAppender
log4j.appender.mylogger.Threshold=DEBUG
log4j.appender.mylogger.File=logs/mylogger.log
log4j.appender.mylogger.DatePattern=.yyyy-MM
log4j.appender.mylogger.layout=org.apache.log4j.PatternLayout
log4j.appender.mylogger.layout.ConversionPattern=%d{ISO8601} [%5p] %C{1}:%L - %m%n
log4j.additivity.mylogger=false
但是,logger 具有 org.slf4j.impl.JDK14LoggerAdapter 类,并且似乎忽略了 log4j.properties 中的所有设置 - 它正在记录到带有本地化警告和信息的 STDERR。
我的相关 maven 依赖项:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
使用mvn exec:java 时如何获取自定义配置的记录器?当使用 Jetty 运行 Spring 应用程序的其余部分时,我的 log4j.properties 配置工作正常。
【问题讨论】:
标签: java maven logging log4j slf4j