<!-- 定义日志文件路径 -->
<property name="LOG_PATH" value="${logPath:-default_log_path}"/>
<!-- 控制台输出 -->
<appender name="CONSOLE" class="ConsoleAppender">
<encoder class="PatternLayoutEncoder">
<!-- 1格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
<!-- <charset>gbk</charset> --><!-- 注释掉编码,跟随平台编码 -->
</encoder>
<!--临界值日志过滤级别配置 -->
<filter class="ThresholdFilter">
<!-- 1在日志级别的基础上过滤掉info级别以下的日志 -->
<level>info</level>
</filter>
</appender>
<!-- 按照每天生成info日志文件 -->
<appender name="INFO" class="RollingFileAppender">
<filter class="ThresholdFilter">
<!-- 1在日志级别的基础上过滤掉相应级别以下的日志 -->
<level>info</level>
</filter>
<rollingPolicy class="SizeAndTimeBasedRollingPolicy">
<!-- 之前的 rollingPolicy和triggeringPolicy冲突了 用一个新的标签 结合两者 -->
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_PATH}\info-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--单日志文件最大的大小-->
<maxFileSize>256MB</maxFileSize>
<!--日志文件保留 数量/天数-->
<maxHistory>30</maxHistory>
<!--所有日志文件总大小-->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder class="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>
<!-- 按照每天生成error日志文件 -->
<appender name="ERROR" class="RollingFileAppender">
<filter class="ThresholdFilter">
<!-- 1在日志级别的基础上过滤掉相应级别以下的日志 -->
<level>error</level>
</filter>
<rollingPolicy class="SizeAndTimeBasedRollingPolicy">
<!-- 之前的 rollingPolicy和triggeringPolicy冲突了 用一个新的标签 结合两者 -->
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_PATH}\error-%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--单日志文件最大的大小-->
<maxFileSize>256MB</maxFileSize>
<!--日志文件保留 数量/天数-->
<maxHistory>30</maxHistory>
<!--所有日志文件总大小-->
<totalSizeCap>10GB</totalSizeCap>
</rollingPolicy>
<encoder class="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>
<root>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="INFO"/>
<appender-ref ref="ERROR"/>
</root>