Java:log4j格式化文本
格式化文本:
Log4j 输出格式转换字符说明
=================
c category的名称,可使用{n}限制输出的精度。例如:logger名为"a.b.c",%c{2}将输出"b.c"。
C 产生log事件的java完全限定类名。可使用{n}限制输出的精度。例如:“org.apache.xyz.SomeClass”,%C{2}将输出“SomeClass”。
d 时间和日期的输出格式,例如:%d{yyyy MM dd HH:mm:ss,SS},可不带后面的日期格式字符。
F 产生log事件的java源文件名,带“.java”后缀及包名称。
l log发生位置的详细描述,包括方法名、文件名及行号。
L log发生在源文件中的位置(行号)。
m log事件的消息内容。
M log发生时所在的方法名称。
n 根据所运行的平台输出相应的换行符。
p log事件的级别。
r 自程序运行至log事件产生所经过的时间。
t 产生log的线程名称。
如:
[%d{yyyy-MM-dd HH:mm:ss}] %-5p %c{2} %M %l %L %r %t - %m%n
[2016-03-29 18:01:47] ERROR encrypt.FileNameEncrypter encrypt com.abc.encrypt.FileNameEncrypter.encrypt(FileNameEncrypter.java:23) 23 0 main - 输出信息
一般配置:
log4j.category.com.abc.test=debug, test
log4j.appender.test=org.apache.log4j.RollingFileAppender
#log4j.appender.encrypt.Threshold=error
log4j.appender.test.File=${LOG_DIR}/test.log
log4j.appender.test.MaxFileSize=5000000
log4j.appender.test.layout=org.apache.log4j.PatternLayout
log4j.appender.test.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] %-5p %l thread: %t - %m%n