<?xml version="1.0" encoding="UTF-8"?>
|
<!--scan为true(默认每一分钟扫描一下配置文件,如果发生更改就重新加载配置文件)
|
scanPeriod设置扫描配置文件的时间间隔(如果没有指定单位默认为毫秒)
|
debug 如果设置为true,在控制台中打印logback内部运行日志(内部状态信息,如果配置文件有错误
|
也会输出),由于logback已经很稳定了,我们一般设置为false,以免干扰我们查看有用的日志信息 -->
|
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
|
<!--定义参数常量(全局变量)-->
|
<!--设置Logger的等级 (TRACE<DEBUG<INFO<WARN<ERROR),假设配置为INFO,那么debug将不会被
|
输出,我们一般会把debug,info,error的信息分别输出到文件中-->
|
<property name="log.level" value="debug"/>
|
<!--归档日志文件保存的最大时间(单位跟按什么轮转有关,比如按天轮转那么单位就为天) -->
|
<property name="log.maxHistory" value="30"/>
|
<!--日志存储的根路径 ${catalina.base}指向每个Tomcat目录私有信息的位置,
|
就是conf、logs、temp、webapps和work的父目录-->
|
<property name="log.filePath" value="/var/logs/taoke"/>
|
<!--日志展示的格式-->
|
<property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n"/>
|
|
<!--appender是为了配置日志信息输出到哪个地方-->
|
<!--控制台设置,输出到控制台中-->
|
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
<!--encoder作用是既把日志信息转换为字符串,也输出到指定的位置 -->
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
<!--pattern为配置输出的格式-->
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
</appender>
|
|
|
|
<!-- ERROR -->
|
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/error.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/error/error.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>ERROR</level>
|
<onMatch>ACCEPT</onMatch>
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
</appender>
|
|
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/info.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/info/info.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>INFO</level>
|
<onMatch>ACCEPT</onMatch>
|
<onMismatch>DENY</onMismatch>
|
</filter>
|
</appender>
|
|
<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.log.gz.%d{yyyy-MM-dd}</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>
|
|
<appender name="dyApiAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/orderapi/info.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/orderapi/info.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
</filter>
|
</appender>
|
|
|
<appender name="payAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/order/pay.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/order/pay.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
</filter>
|
</appender>
|
|
|
<appender name="wxAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/wx/debug.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/wx/debug.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
</filter>
|
</appender>
|
|
<appender name="keyVerifyAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
<file>${log.filePath}/order/key_verify.log</file>
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
<fileNamePattern>${log.filePath}/order/key_verify.log.gz.%d{yyyy-MM-dd}</fileNamePattern>
|
<maxHistory>${log.maxHistory}</maxHistory>
|
</rollingPolicy>
|
<encoder>
|
<pattern>${log.pattern}</pattern>
|
</encoder>
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
<level>DEBUG</level>
|
</filter>
|
</appender>
|
|
|
<logger name="dyorderApiLogger" level="INFO" additivity="false">
|
<appender-ref ref="dyApiAppender"></appender-ref>
|
</logger>
|
|
|
<logger name="payLogger" level="INFO" additivity="false">
|
<appender-ref ref="payAppender"></appender-ref>
|
</logger>
|
|
<logger name="wxLogger" level="INFO" additivity="false">
|
<appender-ref ref="wxAppender"></appender-ref>
|
</logger>
|
|
<logger name="keyVerifyLogger" level="INFO" additivity="false">
|
<appender-ref ref="keyVerifyAppender"></appender-ref>
|
</logger>
|
|
<logger name="debugLogger" level="INFO" additivity="false">
|
<appender-ref ref="debugAppender"></appender-ref>
|
</logger>
|
|
|
|
|
|
<!-- 一切logger都会继承自root,root默认的层级level为debug -->
|
<root level="INFO">
|
<!--在控制台中输出所在层级对应level(以及大于level)的日志信息,因为这里并没有设置LevelFilter-->
|
<appender-ref ref="STDOUT"></appender-ref>
|
<appender-ref ref="errorAppender"></appender-ref>
|
<appender-ref ref="infoAppender"></appender-ref>
|
<appender-ref ref="debugAppender"></appender-ref>
|
</root>
|
</configuration>
|