我的tomcat web应用程序有以下log4j.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-5p: %d{ABSOLUTE} [%t] %c:%L - %m%n" />
</layout>
</appender>
<appender name="errorFileAppender" class="org.apache.log4j.RollingFileAppender">
<param name="threshold" value="error" />
<rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
<param name="FileNamePattern"
value="${catalina.base}/logs/error.%d{yyyy-MM-dd_HH}.log"/>
<param name="ActiveFileName" value="${catalina.base}/logs/error.log"/>
</rollingPolicy>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%-5p: %d{ABSOLUTE} [%t] %c:%L - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<!-- some loggers -->
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
<appender-ref ref="errorFileAppender" />
</root>
</log4j:configuration>使用此配置,所有内容都将记录到catalina.out中。
但我的目的也是将所有错误记录到单独的error.log中,它将每小时滚动一次。
当我使用FileAppender时,error.log文件被创建并填充了错误日志。但是当我切换到RollingFileAppender时,甚至没有创建error.log文件。
请帮助我进行此配置。我在这里找不到错误。
发布于 2013-05-31 19:56:09
错误是,我使用的是org.apache.log4j.RollingFileAppender而不是org.apache.log4j.rolling.RollingFileAppender
https://stackoverflow.com/questions/16854610
复制相似问题