/------------------------------------------------------------------------------------------------------------------------------\
1. 主体标签:
<configuration status="[root_name]">
它有一个属性status是用来声明使用哪个 <root> 标签配置的方案。
2. 控制台输出标签:
<Console name="Console" target="SYSTEM_OUT">
这个标签估计都能猜到是用于控制台日志打印的;其中:
name属性随意取,是给<root>标签用的。
target属性是输出,我只知道这个值。
3. 文件输出标签:
<File name="log" fileName="log/test.log" append="false">
name属性同上。
fileName属性指定文件路径。
append属性是告诉程序每次启动时是否清空文件。
4. 日志存档标签:
<RollingFile name="RollingFile" fileName="logs/web.log" filePattern="logs/$${date:yyyy-MM}/web-%d{MM-dd-yyyy}-%i.log.gz">
filePattern属性是用来声明每个存档文件的名字。
5. 日志集标签:
<loggers>
5.1 子标签
<root level="trace">
<appender-ref ref="RollingFile"/>
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
<SizeBasedTriggeringPolicy size="2MB"/>
level等级:
Log4J Levels | TRACE Level | DEBUG Level | INFO Level | WARN Level | ERROR Level | FATAL Level |
TRACE Level | Y | Y | Y | Y | Y | Y |
DEBUG Level | N | Y | Y | Y | Y | Y |
INFO Level | N | N | Y | Y | Y | Y |
WARN Level | N | N | N | Y | Y | Y |
ERROR Level | N | N | N | N | Y | Y |
FATAL Level | N | N | N | N | N | Y |
ALL Level | Y | Y | Y | Y | Y | Y |
OFF Level | N | N | N | N | N | N |
- %c 输出日志信息所属的类的全名
- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-M-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
- %f 输出日志信息所属的类的类名
- %l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
- %m 输出代码中指定的信息,如log(message)中的message
- %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
- %r 输出自应用启动到输出该日志信息所耗费的毫秒数
- %t 输出产生该日志事件的线程名