177 lines
9.5 KiB
XML
177 lines
9.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<configuration>
|
|
|
|
<!--*****************************property start*****************************-->
|
|
<!-- 设置变量。定义变量后,可以使“${}”来使用变量。 -->
|
|
|
|
<!-- 项目名称 -->
|
|
<property name="PROJECT_NAME" value="adc-da" />
|
|
<!-- 定义日志文件的存储地址,勿在 LogBack的配置中使用相对路径 -->
|
|
<property name="LOG_HOME" value="../logs" />
|
|
<!-- 定义系统日志文件的存储地址,勿在 LogBack的配置中使用相对路径 -->
|
|
<property name="LOG_HOME_SYSTEM" value="system" />
|
|
<!-- 定义Druid日志文件的存储地址,勿在 LogBack的配置中使用相对路径 -->
|
|
<property name="LOG_HOME_DRUID" value="druid" />
|
|
<!--*****************************property end*****************************-->
|
|
|
|
<!--*****************************appender start*****************************-->
|
|
<!-- 负责写日志的组件。有两个必要属性name和class。name指定appender名称,class指定appender的全限定名。 -->
|
|
|
|
|
|
<!-- 彩色日志 -->
|
|
<!-- 彩色日志依赖的渲染类 -->
|
|
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
|
|
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
|
|
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
|
|
<!-- 彩色日志格式 -->
|
|
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 控制台输出 -->
|
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
|
<!-- 对日志进行格式化。 -->
|
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<!-- 系统日志输出:记录所有日志 -->
|
|
<!-- RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。 -->
|
|
<appender name="SYSTEM_ALL_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
<!-- 过滤器,打印指定级别的日志 -->
|
|
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
|
<!-- 过滤的日志级别 -->
|
|
<level>INFO</level>
|
|
<!-- 满足指定级别的日志操作 -->
|
|
<onMatch>ACCEPT</onMatch>
|
|
<!-- 不满足指定级别的日志操作 -->
|
|
<onMismatch>ACCEPT</onMismatch>
|
|
</filter>
|
|
<!-- rollingPolicy:当发生滚动时,决定 RollingFileAppender 的行为,涉及文件移动和重命名。 -->
|
|
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
|
<!--日志文件输出的文件名-->
|
|
<FileNamePattern>${LOG_HOME}/${LOG_HOME_SYSTEM}/${PROJECT_NAME}.system_all.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
|
<!--日志文件保留天数-->
|
|
<MaxHistory>7</MaxHistory>
|
|
<!--日志文件最大的大小-->
|
|
<MaxFileSize>100MB</MaxFileSize>
|
|
</rollingPolicy>
|
|
|
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<!-- 系统错误日志输出 -->
|
|
<appender name="SYSTEM_ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
<!-- 过滤器,只打印ERROR级别的日志 -->
|
|
<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.SizeAndTimeBasedRollingPolicy">
|
|
<!--日志文件输出的文件名-->
|
|
<FileNamePattern>${LOG_HOME}/${LOG_HOME_SYSTEM}/${PROJECT_NAME}.system_error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
|
<!--日志文件保留天数-->
|
|
<MaxHistory>30</MaxHistory>
|
|
<!--日志文件最大的大小-->
|
|
<MaxFileSize>100MB</MaxFileSize>
|
|
</rollingPolicy>
|
|
|
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<!-- Druid日志输出,用于记录执行INFO级别的慢SQL -->
|
|
<appender name="DRUID_SLOWSQL_INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
<!-- LevelFilter: 级别过滤器,根据日志级别进行过滤 -->
|
|
<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.SizeAndTimeBasedRollingPolicy">
|
|
<!--日志文件输出的文件名-->
|
|
<FileNamePattern>${LOG_HOME}/${LOG_HOME_DRUID}/${PROJECT_NAME}.druid_info.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
|
<!--日志文件保留天数-->
|
|
<MaxHistory>15</MaxHistory>
|
|
<!--日志文件最大的大小-->
|
|
<MaxFileSize>50MB</MaxFileSize>
|
|
</rollingPolicy>
|
|
|
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
</appender>
|
|
|
|
<!-- Druid打印的日志文件,用于记录执行WARN级别的SQL -->
|
|
<appender name="DRUID_SLOWSQL_WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
|
<level>WARN</level>
|
|
</filter>
|
|
|
|
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
|
<!--日志文件输出的文件名-->
|
|
<FileNamePattern>${LOG_HOME}/${LOG_HOME_DRUID}/${PROJECT_NAME}.druid_warn.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
|
|
<!--日志文件保留天数-->
|
|
<MaxHistory>30</MaxHistory>
|
|
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
|
<maxFileSize>50MB</maxFileSize>
|
|
</timeBasedFileNamingAndTriggeringPolicy>
|
|
</rollingPolicy>
|
|
|
|
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
|
|
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
|
|
<pattern>[%d{yyyy-MM-dd HH:mm:ss.SSS}] [%thread] [%-5level] %logger{50} - %msg%n</pattern>
|
|
<charset>UTF-8</charset>
|
|
</encoder>
|
|
</appender>
|
|
<!--*****************************appender end*****************************-->
|
|
|
|
<!--*****************************logger start*****************************-->
|
|
<!-- logger用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender> -->
|
|
<!-- <logger>仅有一个name属性,一个可选的level和一个可选的additivity属性。 -->
|
|
<!-- name:用来指定受此logger约束的某一个包或者具体的某一个类。 -->
|
|
<!-- level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF,还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别。如果未设置此属性,那么当前logger将会继承上级的级别。 -->
|
|
<!-- additivity:是否向上级logger传递打印信息。默认是true。 -->
|
|
|
|
<logger name="com.alibaba.druid" level="INFO" additivity="true">
|
|
<appender-ref ref="DRUID_SLOWSQL_INFO_FILE"/>
|
|
</logger>
|
|
|
|
<logger name="com.alibaba.druid" level="warn">
|
|
<appender-ref ref="DRUID_SLOWSQL_WARN_FILE"/>
|
|
</logger>
|
|
<!--*****************************logger end*****************************-->
|
|
|
|
<!-- 开发环境下的日志配置 -->
|
|
<springProfile name="dev">
|
|
<root level="INFO">
|
|
<appender-ref ref="CONSOLE" />
|
|
<appender-ref ref="SYSTEM_ALL_FILE"/>
|
|
</root>
|
|
</springProfile>
|
|
|
|
<!-- 生产环境下的日志配置 -->
|
|
<springProfile name="prod">
|
|
<root level="INFO">
|
|
<appender-ref ref="SYSTEM_ALL_FILE"/>
|
|
<appender-ref ref="SYSTEM_ERROR_FILE"/>
|
|
</root>
|
|
</springProfile>
|
|
|
|
</configuration> |