- 属性配置
<properties>
<!--${sys:LOG_HOME} jvm属性-->
<property name="LOG_HOME">${sys:LOG_HOME}/app/logs</property>
</properties>
-
Appenders配置
name: Appenders名,后续通过name引用
fileName: 通过该附加器输出日志的文件名
filePattern: 文件压缩格式
TimeBasedTriggeringPolicy: 按天数保存日志
SizeBasedTriggeringPolicy: 按文件大小保存日志
Filters: 日志级别筛选
日志级别从高 到 低:Error-Warn-Info-Debug
onMatch: 向上匹配,ACCEPT(匹配), DENY(拒绝),NEUTRAL(下一个过滤器)
onMismatch: 向下匹配, ACCEPT(匹配), DENY(拒绝),NEUTRAL(下一个过滤器)
<RollingRandomAccessFile name="INFO"
fileName="${LOG_HOME}/${INFO_LOG_FILE_NAME}.log" filePattern="${LOG_HOME}/${INFO_LOG_FILE_NAME}.log.%d{yyyy-MM-dd}.gz">
<PatternLayout>
<Pattern>[%date][%level{length=1}]-[%thread][%logger]%replace{%msg}{\n}{ } %throwable{full} %n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
<SizeBasedTriggeringPolicy size="100 MB" />
</Policies>
<DefaultRolloverStrategy max="20" />
<Filters>
<!-- 排除error级别日志 -->
<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
<ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
</Filters>
</RollingRandomAccessFile>
-
Logger配置
level: 这里会先筛选info级别以上的日志
includeLocation: 如果配置为true,则打印日志时可以附带日志点源码位置信息输出.同步日志上下文默认为true,异步默认为false.
additivity: 日志可加性,如果配置为true,则在日志打印时,会通过Logger继承关系递归调用父Logger引用的Appender进行日志打印. 默认继承root
<Loggers> <logger name="com.sxd" level="info" includeLocation="true" additivity="false"> </logger> <root level="ERROR" includeLocation="true"> <appender-ref ref="CONSOLE" /> <Appender-ref ref="DEBUG" /> <Appender-Ref ref="CONSOLE" /> </root> </Loggers>