Я пытаюсь заставить журналирование приложения log4j (webapp) работать в приложении Tomcat 6. У меня log4j-1.2.15.jar в моем каталоге WEB-INF, log4j.dtd и log4j.xml в WEB-INF / classes.
Мой 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>
Мой сервлет находится в упаковке:
package com.company.mass;
где регистратор объявлен как:
private static Logger logger = Logger.getLogger(Handler.class);
и в верхней части моего метода doGet (...) есть:
logger.error("foo");
Когда я развертываю приложение в Tomcat и перехожу к сервлету, оно работает правильно. Я даже получаю файл mass.log, но в него ничего не вставляется. Это не отображается ни в каких других журналах, и нет никаких очевидных ошибок. Есть идеи, что происходит?