文章目录
log4j.properties
配置
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n
在这个示例配置中,我们定义了一个名为“stdout”的控制台Appender,并将它与rootLogger绑定。PatternLayout的ConversionPattern参数设置为“%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n”,这里的%c代表类名,%m代表消息,%p代表日志级别,%n代表换行符,而%L代表代码行号。
2023-03-01 10:30:00 INFO com.example.MyClass:42 - This is a log message with line number.
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 %-5p %l - %m%n