145 lines
6.8 KiB
XML
145 lines
6.8 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||
|
||
<!-- 关闭自身的启动日志 -->
|
||
<statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
|
||
|
||
<!-- 随便起个名字 -->
|
||
<contextName>logback</contextName>
|
||
|
||
<!-- 项目名 -->
|
||
<property name="PROJECT_NAME" value="service_cms"/>
|
||
|
||
<!-- 日志文件输出的位置 -->
|
||
<property name="log.path" value="D://日志//无人机"/>
|
||
|
||
<!-- 控制台日志的彩色日志 -->
|
||
<property name="CONSOLE_LOG_PATTERN"
|
||
value="%boldCyan(%date{yyyy-MM-dd HH:mm:ss}) |%boldYellow(%-5level) |%boldBlue(%thread) |%boldMagenta(%file:%line) |%boldRed(%logger) |%boldGreen(%msg%n)"/>
|
||
|
||
<!-- 文件日志格式 -->
|
||
<property name="FILE_LOG_PATTERN"
|
||
value="%date{yyyy-MM-dd HH:mm:ss} |%-5level |%thread |%file:%line |%logger |%msg%n"/>
|
||
|
||
<!-- 日志的编码方式 -->
|
||
<property name="ENCODING"
|
||
value="UTF-8"/>
|
||
|
||
<!-- 输出到控制台 -->
|
||
<!-- appender:日志记录器,name随便写,要见名知意,class=ConsoleAppender代表输出到控制台 -->
|
||
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
|
||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||
<!-- 日志级别,DEBUG及其以上的都会输出到控制台 -->
|
||
<level>DEBUG</level>
|
||
</filter>
|
||
<encoder>
|
||
<!-- 日志格式 -->
|
||
<Pattern>${CONSOLE_LOG_PATTERN}</Pattern>
|
||
<!-- 日志字符集 -->
|
||
<charset>${ENCODING}</charset>
|
||
</encoder>
|
||
</appender>
|
||
|
||
<!-- 记录INFO的日志文件,只接收在INFO级别以上的到这个文件,RollingFileAppender:滚动日志 -->
|
||
<appender name="INFO_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||
<!-- 日志过滤器:此日志文件只记录INFO级别的,不会接受ERROR这些 -->
|
||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||
<level>INFO</level>
|
||
<onMatch>ACCEPT</onMatch>
|
||
<onMismatch>DENY</onMismatch>
|
||
</filter>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/${PROJECT_NAME}/log_info.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset>
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||
<!-- 每天日志归档路径以及格式,也就是前面的日志会放进这个位置 -->
|
||
<fileNamePattern>${log.path}/${PROJECT_NAME}/info/log-info-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
|
||
<!-- 当每一天生成的数量都超过100MB了,就算不满足日期,也新生成一个日志文件 -->
|
||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||
<maxFileSize>100MB</maxFileSize>
|
||
</timeBasedFileNamingAndTriggeringPolicy>
|
||
|
||
<!-- 日志文件保留天数,因为文件过多,目录太大,读取也很慢 -->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<!-- 记录WARN的日志文件,只接收在INFO级别以上的到这个文件,RollingFileAppender:滚动日志 -->
|
||
<appender name="WARN_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||
<!-- 日志过滤器:此日志文件只记录WARN级别的 -->
|
||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||
<level>WARN</level>
|
||
<onMatch>ACCEPT</onMatch>
|
||
<onMismatch>DENY</onMismatch>
|
||
</filter>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/${PROJECT_NAME}/log_warn.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset> <!-- 此处设置字符集 -->
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||
<fileNamePattern>${log.path}/${PROJECT_NAME}/warn/log-warn-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||
<maxFileSize>100MB</maxFileSize>
|
||
</timeBasedFileNamingAndTriggeringPolicy>
|
||
<!-- 日志文件保留天数 -->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<!-- 记录ERROR的日志文件,只接收在INFO级别以上的到这个文件,RollingFileAppender:滚动日志 -->
|
||
<appender name="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>
|
||
<!-- 正在记录的日志文件的路径及文件名 -->
|
||
<file>${log.path}/${PROJECT_NAME}/log_error.log</file>
|
||
<encoder>
|
||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||
<charset>${ENCODING}</charset> <!-- 此处设置字符集 -->
|
||
</encoder>
|
||
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
|
||
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
|
||
<fileNamePattern>${log.path}/${PROJECT_NAME}/error/log-error-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
|
||
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
|
||
<maxFileSize>100MB</maxFileSize>
|
||
</timeBasedFileNamingAndTriggeringPolicy>
|
||
<!-- 日志文件保留天数 -->
|
||
<maxHistory>15</maxHistory>
|
||
</rollingPolicy>
|
||
</appender>
|
||
|
||
<!-- 在开发环境使用这个配置 -->
|
||
<springProfile name="druid">
|
||
<!-- 可以灵活设置此处,从而控制日志的输出,我这里是只输出INFO及其以上的日志信息 -->
|
||
<!-- <root level="INFO">-->
|
||
<!-- <appender-ref ref="CONSOLE"/>-->
|
||
<!-- <appender-ref ref="INFO_FILE"/>-->
|
||
<!-- <appender-ref ref="WARN_FILE"/>-->
|
||
<!-- <appender-ref ref="ERROR_FILE"/>-->
|
||
<!-- </root>-->
|
||
<root level="ERROR">
|
||
<appender-ref ref="CONSOLE"/>
|
||
<appender-ref ref="ERROR_FILE"/>
|
||
</root>
|
||
</springProfile>
|
||
|
||
<!-- 在生产环境使用这个配置 -->
|
||
<springProfile name="pro">
|
||
<root level="ERROR">
|
||
<appender-ref ref="ERROR_FILE"/>
|
||
</root>
|
||
</springProfile>
|
||
|
||
</configuration>
|