在log4j.xml中更改日期格式

时间:2014-02-24 05:31:36

标签: java log4j

任何人都可以帮我解决如何在控制台中更改日期格式的问题。目前日期格式如下:2014年2月1日下午8:36:02。我想要改变的是24小时格式的日期格式。我尝试更改log4j.xml文件中的格式。 这是log4j.xml文件:

<?xml version="1.0" encoding="UTF-8" ?>

http://jakarta.apache.org/log4j/'>

<appender name="ASYNC" class="org.apache.log4j.AsyncAppender">
    <param name="LocationInfo" value="false"/>
    <appender-ref ref="RollFile"/>
    <appender-ref ref="CONSOLE"/>
</appender>

<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
    <param name="Threshold" value="INFO"/>
    <layout class="org.apache.log4j.PatternLayout">       
         <param name="ConversionPattern" value="%d{DATE} - %-5p [%c{1}] - %m%n"/>

    </layout>
</appender>

<appender name="RollFile" class="org.apache.log4j.RollingFileAppender">
    <param name="threshold" value="INFO"/>
    <param name="maxFileSize" value="10MB"/>
    <param name="File" value="RRT_Log.log"/>
    <param name="maxBackupIndex" value="20"/>
    <layout class="org.apache.log4j.PatternLayout">
         <param name="ConversionPattern" value="%d{DATE} - %-5p [%c] - %m%n"/>
    </layout>
</appender>

<root>
    <appender-ref ref="RollFile"/>
    <appender-ref ref="CONSOLE"/>
</root>

2 个答案:

答案 0 :(得分:13)

您可以按照定义的here添加模式。

根据您的要求,像%d{yyyy-MM-dd HH:mm:ss}这样的模式是有用的。

文档说明如下

模式示例

%d{ISO8601}                   2012-11-02 14:34:02,781

%d{ISO8601_BASIC}             20121102 143402,781

%d{ABSOLUTE}                  14:34:02,781

%d{DATE}                      02 Nov 2012 14:34:02,781

%d{COMPACT}                   20121102143402781

%d{HH:mm:ss,SSS}              14:34:02,781

%d{dd MMM yyyy HH:mm:ss,SSS}  02 Nov 2012 14:34:02,781

%d{HH:mm:ss}{GMT+0}           18:34:02,781

%d{UNIX}                      1351866842

%d{UNIX_MILLIS}               1351866842781

[编辑]

此配置有效...... 将类添加到控制台和根appenders

<?xml version="1.0" encoding="UTF-8"?>

<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out" />
    <layout class="XXX">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%c{1}] (%t) [%X] %m%n" />
    </layout>
</appender>

<logger name="XXX">
    <level value="info"/>
</logger>

<!-- Root Logger -->
<root>
    <priority value="warn" />
    <appender-ref ref="console" />
</root>

答案 1 :(得分:1)

日期格式说明符允许使用与SimpleDateFormat的时间模式字符串相同的语法。将日期模式设置为 - %d{MMM dd,yyyy HH:mm:ss}

<param name="ConversionPattern" value="%d{MMM dd,yyyy HH:mm:ss} - %-5p [%c] - %m%n"/>