Configuration:
|
#status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出;可以设置成Off(关闭)或Error(只输出错误信息)
|
status: Error
|
|
Properties: # 定义全局变量
|
Property:
|
#日志文件存储的目录
|
- name: log.path
|
value: ./logs
|
#日志文件存储名称
|
- name: project.name
|
value: pipIrrWechat
|
|
#定义输出器,可以输出到控制台和文件.
|
Appenders:
|
#输出到控制台
|
Console:
|
#Appender命名
|
name: CONSOLE
|
target: SYSTEM_OUT
|
ThresholdFilter:
|
level: debug #输出日志级别,输出日志时,首先由Loggers.Root.level或Loggers.Logger.level判断是否输出,然后再由本level判断是否输出
|
onMatch: ACCEPT #onMatch=ACCEPT 大于等于 "level" 配置的等级地日志输出
|
onMismatch: DENY #onMismatch=DENY 小于 "level" 配置的等级地日志不输出
|
#日志内容样式
|
PatternLayout:
|
#%n-换行
|
#%m-日志内容,输出代码中指定的日志信息
|
#%p-输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
|
#%r-程序启动到现在的毫秒数
|
#%%- 输出一个"%" 字符
|
#%t-当前线程名
|
#%d-日期和时间, 常用的格式有%d{DATE},%d{ABSOLUTE},%d{HH:mm:ss,SSS},%d{ddMMyyyyHH:mm:ss,SSS}
|
#%l-同%F%L%C%M
|
#%F-java源文件名
|
#%L-java源码行数
|
#%C-java类名,%C{1}输出最后一个元素
|
#%M-java方法名
|
pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n"
|
# 输出到文件,超过10MB归档
|
RollingFile:
|
- name: ROLLING_FILE
|
ignoreExceptions: false
|
fileName: ${log.path}/${project.name}.log
|
filePattern: "${log.path}/${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
|
ThresholdFilter:
|
level: error #输出日志级别,输出日志时,首先由Loggers.Root.level或Loggers.Logger.level判断是否输出,然后再由本level判断是否输出
|
onMatch: ACCEPT #onMatch=ACCEPT 大于等于 "level" 配置的等级地日志输出
|
onMismatch: DENY #onMismatch=DENY 小于 "level" 配置的等级地日志不输出
|
#日志内容样式
|
PatternLayout:
|
pattern: "%d{yyyy-MM-dd HH:mm:ss,SSS}:%4p %t (%C.%M:%L) - %m%n"
|
Policies:
|
# 每天日志文件按大小分子文件
|
SizeBasedTriggeringPolicy:
|
size: "1 MB"
|
DefaultRolloverStrategy:
|
max: 10 #一天内日志文件最大个数
|
Delete:
|
basePath: "${log.path}"
|
maxDepth: 2 #删除日志文件的最大深度
|
IfFileName:
|
glob: "${project.name}-%d{yyyy-MM-dd}-%i.log.gz"
|
IfLastModified:
|
age: "30d" #日志文件保留的最大天数
|
Loggers:
|
Root:
|
level: info #日志输出级别,共有8个级别,按照从低到高为:all < trace < debug < info < warn < error < fatal < off
|
AppenderRef: #Root的子节点,用来指定该日志输出到哪个Appender.
|
- ref: CONSOLE #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.Console.ThresholdFilter.level判断是否输出
|
- ref: ROLLING_FILE #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.RollingFile.ThresholdFilter.level判断是否输出
|
# 为包配置特殊的Log级别,方便调试,
|
# 不受Loggers.Root.level限制
|
Logger:
|
- name: org.apache.dubbo
|
additivity: false #去除重复的log
|
level: error #输出日志级别
|
AppenderRef:
|
- ref: CONSOLE #输出日志时,首先由本.level判断是否输出,然后再由上面的Appenders.Console.ThresholdFilter.level判断是否输出
|
- ref: ROLLING_FILE #输出日志时,首先由本level判断是否输出,然后再由上面的Appenders.RollingFile.ThresholdFilter.level判断是否输出
|