Java 更改 log4j.xml 中的日期格式
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/21979606/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
changing date format in log4j.xml
提问by Kanak
Can anyone help me out on how to change the date format in the console. Currently the date format is like this : Feb 1, 2014 8:36:02 PM. All i want to change is the date format to 24 hour format. I tried changing the format in the log4j.xml file. this is the log4j.xml file :
任何人都可以帮助我了解如何更改控制台中的日期格式。目前的日期格式是这样的:2014 年 2 月 1 日晚上 8:36:02。我想要更改的只是将日期格式更改为 24 小时格式。我尝试更改 log4j.xml 文件中的格式。这是 log4j.xml 文件:
<?xml version="1.0" encoding="UTF-8" ?>
http://jakarta.apache.org/log4j/'>
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>
回答by Subhrajyoti Majumder
The date format specifier admits the same syntax as the time pattern string of the SimpleDateFormat
. Set the date pattern like - %d{MMM dd,yyyy HH:mm:ss}
日期格式说明符接受与 的时间模式字符串相同的语法SimpleDateFormat
。设置日期模式,如 -%d{MMM dd,yyyy HH:mm:ss}
<param name="ConversionPattern" value="%d{MMM dd,yyyy HH:mm:ss} - %-5p [%c] - %m%n"/>
回答by VinayVeluri
You can add patterns as defined here.
您可以添加此处定义的模式。
As per your requirement, pattern like - %d{yyyy-MM-dd HH:mm:ss}
would be userful.
根据您的要求,像 -%d{yyyy-MM-dd HH:mm:ss}
这样的模式会很有用。
Documentation says the following
文档说明如下
Pattern Example
模式示例
%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
[EDIT]
[编辑]
This configuration works... Add the classes to console and root 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>