log4j:ConsoleAppender的ConversionPattern无法正常工作

时间:2013-07-04 15:24:55

标签: java log4j consoleappender

我有log4j属性(log4j v1.2.16)文件,其中我使用了RollingFileAppenderConsoleAppender
RollingFileAppender的配置如下:

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${log.dir}\\mpnlog.log
log4j.appender.R.MaxFileSize=400KB
log4j.appender.R.MaxBackupIndex=10
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %-6r[%20.20t] %-5p %45.45c %x - %m%n

ConsoleAppender的配置如下:

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %45.45c %x - %m%n  

我在RollingFileAppender获取了正确的输出日期时间戳,即在mpnlog.log中,但在 catalina.out 文件中我没有得到System.out.println()的日期时间戳..我不知道我到底在做什么错误。我需要catalina.out文件中Sysout语句的正确日期时间戳。

任何人......知道如何使用上述或任何其他方法为catalina.out添加日期时间戳?

1 个答案:

答案 0 :(得分:0)

您忘记设置日志级别

例如:

log4j.rootLogger=INFO, stdout

更好地更改log4j.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">   
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %45.45c %x - %m%n/>
        </layout>
    </appender>

<root>
        <priority value="info"></priority>
        <appender-ref ref="stdout"/>
    </root>
</log4j:configuration>