在log4j.properties
我可以设置PatternLayout
例如("[%p] %c - %m - %d %n")
是否有返回以毫秒为单位的当前时间的任何符号(%的东西)?
在log4j.properties
我可以设置PatternLayout
例如("[%p] %c - %m - %d %n")
是否有返回以毫秒为单位的当前时间的任何符号(%的东西)?
没有Log4J的符号,你想要做什么。
%d
返回当前日期与给定的模式,由定义SimpleDateFormat
(你在括号之间放模式),但不给你以毫秒的时间。
%r
给出了自执行开始的毫秒数。
实现你想要的东西的一种可能的方式是延长的Log4j的行为,它更复杂了不少,但如果它是绝对必要的......在这里你去:
自定义的log4j (编辑:不再上网?)
自定义的log4j (编辑:2018替代)
编辑 :请记住,从你的评论,如果你需要弄清楚在不同的机器上执行之间的时间差,你必须确保机器的时钟同步,或者它会导致你错误的结论。
你可以试试这个。
log4j.appender.appender_name.layout=org.apache.log4j.PatternLayout
log4j.appender.appender_name.layout.ConversionPattern=%d %p [%c] - %m%n
日期PARAMS %d
。 例如: %d{HH:mm:ss,SSS}
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html
试试这个,
%d{dd MMM yyyy HH:mm:ss,SSS}
您应该能够使用%d{UNIX_MILLIS}
从手册 :
%d{UNIX}
输出UNIX时间(秒)。%d{UNIX_MILLIS}
输出UNIX时间以毫秒为单位。 在UNIX时间的区别,在UNIX秒,以毫秒为单位UNIX_MILLIS,当前时间和午夜,1970年1月1日,UTC之间。 尽管时间单位是毫秒,粒度取决于操作系统(Windows)上。 这是一种有效的方式来输出的事件时间,因为只有从长字符串转换发生,不涉及日期格式。