<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="10 seconds" debug="false">
<!-- 项目名称 -->
<property name="PROJECT" value="wsc-score" />
<!-- 日志路径 -->
<property name="PATH" value="./logs" />
<!-- 控制台日志格式 -->
<property name="PATTERN_CONSOLE" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}) - %gray(%msg%n)" />
<!-- 日志文件日志格式 -->
<property name="PATTERN_FILE" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n" />
<!-- 日志文件的最大size -->
<property name="FILESIZE" value="50MB" />
<!-- 日志存储的历史天数 -->
<property name="MAXHISTORY" value="100" />
<!-- error级别日志 输入到文件,按日期和文件大小 -->
<appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当天日志的存放路径及名称 -->
<file>${PATH}/${PROJECT}-error.log</file>
<!-- 日志输出格式 -->
<encoder charset="utf-8">
<pattern>${PATTERN_FILE}</pattern>
</encoder>
<!-- 拦截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.TimeBasedRollingPolicy">
<!-- 历史日志文件的存放路径和名称 -->
<fileNamePattern>${PATH}/${PROJECT}-error.%d.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<maxHistory>${MAXHISTORY}</maxHistory>
<!-- 日志滚动策略文件的大小,超过这个大小会新建一个文件,指定此配置必须在fileNamePattern配置%i -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${FILESIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- warn级别日志 输入到文件,按日期和文件大小 -->
<appender name="warn" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当天日志的存放路径及名称 -->
<file>${PATH}/${PROJECT}-warn.log</file>
<!-- 日志输出格式 -->
<encoder charset="utf-8">
<pattern>${PATTERN_FILE}</pattern>
</encoder>
<!-- 拦截ERROR级别的日志 -->
<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>${PATH}/${PROJECT}-warn.%d.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<maxHistory>${MAXHISTORY}</maxHistory>
<!-- 日志滚动策略文件的大小,超过这个大小会新建一个文件,指定此配置必须在fileNamePattern配置%i -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${FILESIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- debug级别日志 输入到文件,按日期和文件大小 -->
<appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当天日志的存放路径及名称 -->
<file>${PATH}/${PROJECT}-debug.log</file>
<!-- 日志输出格式 -->
<encoder charset="utf-8">
<pattern>${PATTERN_FILE}</pattern>
</encoder>
<!-- 拦截ERROR级别的日志 -->
<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>${PATH}/${PROJECT}-debug.%d.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<maxHistory>${MAXHISTORY}</maxHistory>
<!-- 日志滚动策略文件的大小,超过这个大小会新建一个文件,指定此配置必须在fileNamePattern配置%i -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${FILESIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- info级别日志 输入到文件,按日期和文件大小 -->
<appender name="info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当天日志的存放路径及名称 -->
<file>${PATH}/${PROJECT}-info.log</file>
<!-- 日志输出格式 -->
<encoder charset="utf-8">
<pattern>${PATTERN_FILE}</pattern>
</encoder>
<!-- 拦截ERROR级别的日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<!-- 日志滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 历史日志文件的存放路径和名称 -->
<fileNamePattern>${PATH}/${PROJECT}-info.%d.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<maxHistory>${MAXHISTORY}</maxHistory>
<!-- 日志滚动策略文件的大小,超过这个大小会新建一个文件,指定此配置必须在fileNamePattern配置%i -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${FILESIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- task日志 输入到文件,按日期和文件大小 -->
<appender name="task" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 当天日志的存放路径及名称 -->
<file>${PATH}/${PROJECT}-task.log</file>
<!-- 日志输出格式 -->
<encoder charset="utf-8">
<pattern>${PATTERN_FILE}</pattern>
</encoder>
<!-- 拦截ERROR级别的日志 -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
<!-- 日志滚动策略 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 历史日志文件的存放路径和名称 -->
<fileNamePattern>${PATH}/${PROJECT}-task.%d.%i.log.zip</fileNamePattern>
<!-- 日志文件最大的保存历史 数量-->
<maxHistory>${MAXHISTORY}</maxHistory>
<!-- 日志滚动策略文件的大小,超过这个大小会新建一个文件,指定此配置必须在fileNamePattern配置%i -->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>${FILESIZE}</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<logger name="com.jixun.ys.task" level="INFO">
<appender-ref ref="task" />
</logger>
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender" >
<destination>172.31.111.111:9252</destination>
<encoder class="net.logstash.logback.encoder.LogstashEncoder" charset="UTF-8"/>
</appender>
<!-- 输出到控制台 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder charset="utf-8">
<pattern>${PATTERN_CONSOLE}</pattern>
</encoder>
</appender>
<!--普通日志输出到控制台-->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="error" />
<appender-ref ref="warn" />
<appender-ref ref="debug" />
<appender-ref ref="info" />
<appender-ref ref="LOGSTASH"/>
</root>
</configuration>
Logback.xml
最新推荐文章于 2023-10-20 09:30:00 发布