2014-02-24 97 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 –