Trace < Debug < Info < Warn < Error.
子节点为pattern,指定了输出格式,eg:
[%d{yyyy/MM/dd-HH:mm:ss.SSS}]-[%level]-[%thread]-[%X{requestId}]-[%class:%line]- %msg%n
主要使用LevelFilter以及ThresholdFilter,由class属性指定。
* LevelFilter。
* level指定匹配的级别,单个匹配,而不是范围匹配。
* onMatch:符合时操作,可以选择抛弃日志等操作。
* onMisMatch;不符合时操作。
* ThresholdFilter。
* level,只有>=该level的日志被处理。
日志产生 -> loggers -> [root] -> filters -> appender处理
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{yyyy/MM/dd-HH:mm:ss.SSS}]-[%level]-[%thread]-[%X{requestId}]-[%class:%line]- %msg%n pattern>
encoder>
appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERRORlevel>
filter>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>./logs/fs-open-hr-admin-%d{yyyy-MM-dd}.%i.log.gzFileNamePattern>
<maxHistory>30maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MBmaxFileSize>
timeBasedFileNamingAndTriggeringPolicy>
rollingPolicy>
<encoder>
<pattern>%d{yyyy/MM/dd-HH:mm:ss.SSS}-[%level]-[%X{requestId}]-%logger{10}:%line-%msg%npattern>
encoder>
appender>