logback配置记录

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<property name="log.level" value="debug"/>
<property name="log.maxHistory" value="30"/>
<property name="log.filePath" value="${catalina.base}/logs/webapps"/>
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/>
<!--控制台设置--> <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!--DEBUG设置-->
<appender name="debugAppender class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--文件路径-->
<file>${log.filePath}/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz
</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="com.imooc.o2o" level="${log.level}" additivity="true">
<appender-ref ref="debugAppender"/>
</logger>
<root level="info">
<appender-ref ref="consoleAppender"/>
</root>
从上到下:
"scan" = “true” : 每间隔一段时间扫描配置文件,如果有修改就重新加载配置。默认一分钟。
"scanPeriod" = “60 seconds”: 每分钟扫描一次配置文件。(单位默认是毫秒)
"debug"=“false”: 不开启logback自身的日志信息

property name = “log.level” value = "debug" 定义日志级别为bebug
property name = “log.maxHistory” value = "30" 日志最大保留时间(30天)
property name = “log.filePath” value = " ${catalina.base}/logs/webapps"
设置文件存储的根目录为${catalina.base}/logs/webapps,其中 ${catalina.base} 为tomcat实例的根目录logback配置记录
property name = “log.pattern” value =
"%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg %n"
日志的输出格式 :
%d{yyyy-MM-dd HH:mm:ss.SSS}: 定义时间格式
[%thread] : 当前线程名
%-5level : 从左缩进5个字符宽度展示日志级别
%logger{50}: logger名字最长50个字符,否则按照句点分割(TIP:从哪个类中输出的日志信息)
%msg: 日志信息
%n: 换行符

appender: 定义输出媒介
encoder: 将invent事件转成字符数组再输出到文件
pattern: 输出格式
file: 文件路径
rollingPolicy: 滚动策略
fileNamePattern: 文件名称(tip:按照滚动策略在文件路径下再分裂出小的压缩文件)
filter: 过滤设置
level: 接受日志的级别
onMatch: 匹配到 level (ACCEPT:接受)
onMismatch: 匹配不到 level (DENY:拒绝)
logger: 存放日志对象,告诉我们是哪个package的日志。一个类只能有一个logger
appender-ref: 引用哪个appender
root: 特殊的日志对象,如果logger没有指定level,那么就会自动继承root的level级别
additivity: 默认为true。将logger继承root中的appender,并以logger的日志级别输出。即在本配置中,控制台也会输出DEBUG级别的日志。