0

我的 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文件时甚至没有创建。

请帮助我进行此配置。我不能在这里发现错误。

4

1 回答 1

0

错误是,我使用org.apache.log4j.RollingFileAppender而不是org.apache.log4j.rolling.RollingFileAppender

于 2013-05-31T11:56:08.953 回答