2014-02-24 66 views
1

任何人都可以帮助我了解如何在控制台中更改日期格式。目前日期格式如下所示:2014年2月1日8:36:02 PM。我想改变的是日期格式为24小时格式。我试着改变log4j.xml文件中的格式。 这是的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> 

回答

1

日期格式指定符承认与SimpleDateFormat的时间模式字符串具有相同的语法。设置如日期模式 - %d{MMM dd,yyyy HH:mm:ss}

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

我已经试图改变它这样的,但它并没有反映在控制台上。我应该改变属性文件的东西吗? – Kanak

+0

nope,两者都是一样的。告诉我这件事!我可以看到两个appender。你确定你已经更新了正确的吗? –

+0

是的,有两个appender,一个用于控制台,另一个用于保存在独立文件夹中的日志文件。我已经尝试过每一个可以编辑格式的地方,但是没有任何变化.. – Kanak

9

定义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 

[编辑]

这种配置的作品... 添加类控制台根追加程序

<?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> 

+0

谢谢@vinay ..但是我已经尝试过改变它,它并没有在控制台上反映出来。我应该改变属性文件的东西吗? – Kanak

+0

+1添加示例。 – Edenshaw

+0

作为配置文件,您使用的是log4j1,但这些列出的日期模式主要是log4j2模式,它们不适用于log4j1。这个工程,你可以在这里测试:http://log4jtester.com/?p=%25d%7Byyyy-MM-dd+HH%3Amm%3Ass%7D+%25-5p+%5B%25c%7B1%7D%5D+ (%25吨)+%5B%25X%5D +%25米%25N –