logback.xml

<?xml version="1.0" encoding="utf-8" ?>

<!-- 外层节点-->
<!-- debug:是否打印logback内部日志。
scan: 默认true。表示配置文件发生变化时重新加载
scanPeriod:单位默认毫秒。表示配置文件加载间隔时间。scan=true时生效-->
<configuration scan="true" debug="true" scanPeriod="1 seconds">

<!-- 自定义变量标签。可使用${APP_NAME}方式调用 。可定义多个标签-->
<property name="APP_NAME" value="webA"/>

<!-- 上下文名称,可在encoder标签里调用:调用方式%cn-->
<contextName>${APP_NAME}}</contextName>

<!-- 输出标签 -->
<!-- append=true表示在日志里追加新内容 。ConsoleAppender控制台输出 -->
<appender name="stdout" append="true" class="ch.qos.logback.core.ConsoleAppender">

<!-- 过滤器(可选属性),通过过滤器可额外加一些控制-。filter可自定义,,logback也有封装好的-->
<!-- LevelFilter 准备匹配,只过滤输出error级别-->
<!-- <filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMisMatch>DENY</onMisMatch>
</filter>-->

<!-- ThresholdFilter 阀门拦截过滤。只输出info及以上级别的日志-->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>

<!--控制输出格式 -->
<encoder>
<!-- %cn:上下文。%d日期。%level:日志级别 %msg:日志信息 %n换行-->
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>

</appender>

<!-- 日志滚动输出到文件-->
<appender name="rollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">

<!--日志文件名-->
<file>webA_info.log</file>

<!-- 日志滚动规则 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

<!-- %d{yyyy-MM-dd}按天回滚日志-->
<fileNamePattern>webA_info_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 上面设置的按天回滚,所以这里30代表的30天。最大保存历史30天-->
<maxHistory>30</maxHistory>
<!-- 单个日志最大存储-->
<maxFileSize>100MB</maxFileSize>
<!--最大日志存储空间-->
<totalSizeCap>2GB</totalSizeCap>

</rollingPolicy>

<encoder>
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>

</appender>


<!-- 日志滚动输出到文件-->
<appender name="ErrorRollingFile" class="ch.qos.logback.core.rolling.RollingFileAppender">

<!--日志文件名-->
<file>webA_error.log</file>

<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>

<!-- 日志滚动规则 -->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

<!-- %d{yyyy-MM-dd}按天回滚日志-->
<fileNamePattern>webA_error_%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<!-- 上面设置的按天回滚,所以这里30代表的30天。最大保存历史30天-->
<maxHistory>30</maxHistory>
<!-- 单个日志最大存储-->
<maxFileSize>100MB</maxFileSize>
<!--最大日志存储空间-->
<totalSizeCap>2GB</totalSizeCap>

</rollingPolicy>

<encoder>
<pattern>%cn %d %M [%level] %msg%n</pattern>
</encoder>

</appender>


<root level="debug">
<appender-ref ref="stdout"/>
<appender-ref ref="rollingFile"/>
<appender-ref ref="ErrorRollingFile"/>
</root>

<!-- class类里引用该logger的按一下规则输出 additivity="false"表示不适用root打出日志-->
<logger name="errorLogger" level="error" additivity="false">
<appender-ref ref="ErrorRollingFile"/>
</logger>

</configuration>
原文地址:https://www.cnblogs.com/jybky/p/12218419.html