У меня есть дилемма, конфигурирующая мой log4j.xml (прилагается ниже) для веб-приложения Quartz.help с log4j.xml
Он выплескивает сообщения журнала на stdout (который мой экземпляр Tomcat затем регистрирует) для INFO, сообщенного плагином LoggingJobHistory Quartz. Он использует приложение «stdout», определенное ниже; Я могу сказать это, потому что я поставил там «ZZZ», и он пробивается в журнал Tomcat.
Я не могу понять, почему. Единственными вещами, которые используют приложение «stdout», являются root и org.apache, оба - для WARN. Почему я получаю сообщения INFO?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<!-- <layout class="org.apache.log4j.TTCCLayout"/> -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="ZZZ %d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${quartz.root}/WEB-INF/logs/quartz-log.txt"/> <!-- orther options ${user.home} -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="appFILE" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${quartz.root}/WEB-INF/logs/app-log.txt"/> <!-- orther options ${user.home} -->
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
<appender name="HtmlAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="File" value="${quartz.root}/WEB-INF/logs/ShortResults.html"/>
<param name="DatePattern" value="'.'yyyy-MM-dd-HH'.html'"/>
<layout class="org.apache.log4j.HTMLLayout"/>
<!--/layout-->
</appender>
<!-- log detail configuration -->
<logger name="org.quartz">
<level value="info"/>
<appender-ref ref="FILE"/>
<appender-ref ref="HtmlAppender"/>
</logger>
<logger name="com.opensymphony">
<level value="info"/>
<appender-ref ref="HtmlAppender"/>
</logger>
<logger name="org.apache">
<level value="warn"/>
<appender-ref ref="stdout"/>
</logger>
<root>
<level value="warn"/>
<appender-ref ref="stdout"/>
<appender-ref ref="FILE"/>
</root>
</log4j:configuration>
hmmm ... Я бы предположил, что - сначала я не был уверен, что это было приложение stdout или log4j, записывающее на stdout, за исключением того, что я могу управлять форматом журнала log4j, и это улучшает вывод. (см. примечание «ZZZ» наверху) –
-1 - нет использования stdout, см. http://svn.opensymphony.com/fisheye/browse/quartz/branches/quartz_1-6/src/java/org/quartz/ плагины/история/LoggingJobHistoryPlugin.java? r = 654 – fvu
Достаточно справедливо, но это не меняет способ работы tomcat. – skaffman