【发布时间】:2017-08-31 11:13:14
【问题描述】:
我正在尝试为一个 Maven 项目启用打印调试信息。我将 log4j 作为依赖项添加到 pom.xml 并添加 log4j.properties 以及 log4j2.properties 和 rootloger=DEBUG, sdout 到 src/main/resources 文件夹。然后在所需的类中,我在所需的类“org.pakage1.ClassA”中启动一个记录器并添加logger.debug() 行,但我的领事中没有显示任何内容。当我检查logger.isDebugEnabled() 它返回false
-
pom.xml
<dependencies> ..... <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> </dependency> -
log4j.properties 和类似的 log4j2
log4j.debug=true log4j.rootLogger=DEBUG, stdout log4j.appender.Stdout.threshold=debug log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-5p %d [%t] %c{1} - %m%n作为额外的步骤,我尝试添加
log4j.logger.extendedsldnf.ExtendedSLDNFEvaluator=DEBUG但它也没有工作。
package package1; ...... class ClassA{ private Logger logger = LoggerFactory.getLogger(getClass()); ...... public static void main(String []args){ logger.debug("message"); } }
知道我收到警告
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
此外,该项目还有其他子模块也启用了类似的日志记录,并且在 log4j.properties 文件中说明时调试消息效果很好
有什么遗漏吗?如何检查是否有冲突?
【问题讨论】:
标签: java maven logging log4j slf4j