我想使用Log4J从基于Tomcat的应用程序中登录。
Log4J配置为
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true">
<appender name="roller" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${catalina.base}/logs/application.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[slf5s.start]%d{DATE}[slf5s.DATE]%n%p[slf5s.PRIORITY]%n%x[slf5s.NDC]%n%t[slf5s.THREAD]%n%c[slf5s.CATEGORY]%n%l[slf5s.LOCATION]%n%m[slf5s.MESSAGE]%n%n"/>
</layout>
</appender>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="|%d|%5.5p|%5.5t|%20.20c{20}.%M - %m%n"/>
</layout>
</appender>
<category name="com.acme" additivity="false">
<priority value="trace"/>
<appender-ref ref="roller"/>
<appender-ref ref="console"/>
</category>
</log4j:configuration>
我可以在stdout / stderr日志中看到Log4J已初始化并创建了预期的日志文件,但它仍然为空。
其他所有catalina日志均已创建并填充。 JULI日志记录是否有可能阻止Log4J正常工作?
答案 0 :(得分:0)
我正在将项目从Websphere迁移到Tomcat,还介绍了Maven。
问题是Maven依赖项正在加载2个SLF4J提供程序:log4j适配器和传统的logback。
这导致使用NopLogger,它不会记录任何内容。
我明确排除了经典的logback依赖关系,并且现在可以进行记录了。