123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--debug="true" : 打印 logback 内部状态(默认当 logback 运行出错时才会打印内部状态 ), 配置该属性后打印条件如下(同时满足):
- 1、找到配置文件
- 2、配置文件是一个格式正确的xml文件 也可编程实现打印内部状态,
- 例如: LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory(); StatusPrinter.print(lc); -->
- <!-- scan="true" : 自动扫描该配置文件,若有修改则重新加载该配置文件 -->
- <!-- scanPeriod="30 seconds" : 配置自动扫面时间间隔
- (单位可以是:milliseconds, seconds, minutes or hours,默认为:milliseconds),
- 默认为1分钟,scan="true"时该配置才会生效 -->
- <!--https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd-->
- <configuration
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd"
- debug="false" scan="true" scanPeriod="30 seconds">
- <property name="PROJECT" value="lift-chat-8003"/>
- <property name="ROOT" value="logs/${PROJECT}/"/>
- <property name="FILE_SIZE" value="10MB"/>
- <property name="MAX_HISTORY" value="100"/>
- <property name="LOG_WIDTH" value="30"/>
- <timestamp key="DATETIME" datePattern="yyyy-MM-dd HH:mm"/>
- <!-- 控制台打印 -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <!--是否支持ANSI color codes(类似linux中的shell脚本的输出字符串颜色控制代码)。默认为false。如果设置为true。例如:[31m 代表将前景色设置成红色。-->
- <!--在windows中,需要提供"org.fusesource.jansi:jansi:1.9",而在linux,mac os x中默认支持。-->
- <withJansi>true</withJansi>
- <encoder charset="utf-8">
- <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
- <!--"%black", "%red", "%green","%yellow","%blue", "%magenta","%cyan", "%white", "%gray", "%boldRed","%boldGreen", -->
- <!--"%boldYellow", "%boldBlue", "%boldMagenta""%boldCyan", "%boldWhite" and "%highlight"-->
- <pattern>%highlight([%-5level]) %highlight(%d{${DATETIME}}) %cyan([%thread]) %boldMagenta(%logger{${LOG_WIDTH}}) - %m%n
- </pattern>
- </encoder>
- </appender>
- <!-- ERROR 输入到文件,按日期和文件大小 -->
- <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <encoder charset="utf-8">
- <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
- </pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern>
- <maxHistory>${MAX_HISTORY}</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>${FILE_SIZE}</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- WARN 输入到文件,按日期和文件大小 -->
- <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <encoder charset="utf-8">
- <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
- </pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>WARN</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern>
- <maxHistory>${MAX_HISTORY}</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>${FILE_SIZE}</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- INFO 输入到文件,按日期和文件大小 -->
- <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <encoder charset="utf-8">
- <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
- </pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern>
- <maxHistory>${MAX_HISTORY}</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>${FILE_SIZE}</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- DEBUG 输入到文件,按日期和文件大小 -->
- <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <encoder charset="utf-8">
- <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
- </pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>DEBUG</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern>
- <maxHistory>${MAX_HISTORY}</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>${FILE_SIZE}</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- TRACE 输入到文件,按日期和文件大小 -->
- <appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <encoder charset="utf-8">
- <pattern>[%-5level] %d{${DATETIME}} %logger{${LOG_WIDTH}} - %m%n
- </pattern>
- </encoder>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>TRACE</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern>
- <maxHistory>${MAX_HISTORY}</maxHistory>
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
- <maxFileSize>${FILE_SIZE}</maxFileSize>
- </timeBasedFileNamingAndTriggeringPolicy>
- </rollingPolicy>
- </appender>
- <!-- SQL相关日志输出-->
- <logger name="org.apache.ibatis" level="INFO" additivity="true"/>
- <logger name="org.mybatis.spring" level="INFO" additivity="false"/>
- <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false"/>
- <logger name="cn.com.ty.chat.mapper" level="debug" />
- <!-- Logger 根目录 -->
- <root level="INFO">
- <appender-ref ref="STDOUT"/>
- <appender-ref ref="DEBUG"/>
- <appender-ref ref="ERROR"/>
- <appender-ref ref="WARN"/>
- <appender-ref ref="INFO"/>
- <appender-ref ref="TRACE"/>
- </root>
- </configuration>
|