我正在尝试让 log4j 应用程序(webapp)日志记录在 Tomcat 6 应用程序中工作。我的 WEB-INF 目录中有 log4j-1.2.15.jar,WEB-INF/classes 中有 log4j.dtd 和 log4j.xml。
我的 log4j.xml 看起来像:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="massAppender" class="org.apache.log4j.RollingFileAppender">
<param name="maxFileSize" value="100KB" />
<param name="maxBackupIndex" value="2" />
<param name="File" value="${catalina.home}/logs/mass.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %5p %c{1}: %m%n " />
</layout>
</appender>
<category name="com.company.mass">
<priority value="DEBUG"/>
<appender-ref ref="massAppender"/>
</category>
<root>
<appender-ref ref="massAppender" />
</root>
</log4j:configuration>
我的 servlet 在包中:
package com.company.mass;
记录器被声明为:
private static Logger logger = Logger.getLogger(Handler.class);
在我的 doGet(...) 方法的顶部有:
logger.error("foo");
当我在 Tomcat 中部署应用程序并转到 servlet 时,它可以正常工作。我什至得到了一个 mass.log 文件,但没有放入其中。它也不会出现在任何其他日志中,也没有明显的错误。知道发生了什么吗?