springboot logback.xml适用

1第一个容易理解,建议融合第二个用:

<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别
trace<debug<info<warn<error
若定义的日志级别为info,则不会打印出 trace和debug的相关日志。
 -->

<!-- 定义全局参数常量 -->
<property name="log.level" value="debug"/>
<property name="log.maxHistory" value="30"/><!-- 30表示30个 -->
<!-- 日志的存放位置 -->                    <!--catalina.base表示tomcat的根路径  -->
<property name="log.filePath" value="${catalina.base}/logs/webapps"/>
<!-- 日志的展现格式 -->
<property name="log.pattern" value="%d{yyyy-MM-dd : HH:mm:ss.SSS}[%thread]%-5level%logger{50}-%msg%n"/>

<!-- 定义appender (日志的输出和存放位置等). -->
<!-- 控制台设置 -->
<appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>${log.pattern}</pattern>  <!-- 控制台日志输出格式 -->
    </encoder>
</appender>

<!-- DEBUG -->
<appender name="debugAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志文件会滚动 -->
    <!-- 文件路径 -->
    <file>${log.filePath}/debug.log</file><!-- 当前的日志文件存放路径 -->
    <!-- 日志滚动策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- 历史日志文件的存放路径和名称 -->
        <fileNamePattern>${log.filePath}/debug/debug.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
        <!-- 日志文件最大的保存历史 数量-->
        <maxHistory>${log.maxHistory}</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>${log.pattern}</pattern>  <!-- 日志文件中日志的格式 -->
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>DEBUG</level>
        <onMatch>ACCEPT</onMatch>  <!-- 用过滤器,只接受DEBUG级别的日志信息,其余全部过滤掉 -->
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

<!-- INFO -->
<appender name="infoAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志文件会滚动 -->
    <!-- 文件路径 -->
    <file>${log.filePath}/info.log</file><!-- 当前的日志文件存放路径 -->
    <!-- 日志滚动策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- 历史日志文件的存放路径和名称 -->
        <fileNamePattern>${log.filePath}/info/info.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
        <!-- 日志文件最大的保存历史 数量-->
        <maxHistory>${log.maxHistory}</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>${log.pattern}</pattern>  <!-- 日志文件中日志的格式 -->
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>INFO</level>
        <onMatch>ACCEPT</onMatch>  <!-- 用过滤器,只接受INFO级别的日志信息,其余全部过滤掉 -->
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

<!-- ERROR-->
<appender name="errorAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"><!-- 日志文件会滚动 -->
    <!-- 文件路径 -->
    <file>${log.filePath}/error.log</file><!-- 当前的日志文件存放路径 -->
    <!-- 日志滚动策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- TimeBased默认是一天更新一次 -->
        <!-- 历史日志文件的存放路径和名称 -->
        <fileNamePattern>${log.filePath}/error/error.%d{yyyy-MM-dd}.log.gz</fileNamePattern>
        <!-- 日志文件最大的保存历史 数量-->
        <maxHistory>${log.maxHistory}</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>${log.pattern}</pattern>  <!-- 日志文件中日志的格式 -->
    </encoder>
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>ACCEPT</onMatch>  <!-- 用过滤器,只接受ERROR级别的日志信息,其余全部过滤掉 -->
        <onMismatch>DENY</onMismatch>
    </filter>
</appender>

<!-- logger标签用于和appender进行绑定,并告诉logback哪些包(name属性)的日志信息需要记录 -->
<!--logger将会继承root标签,在加上additivity="true"的属性后 root标签中的level将会被logger的level覆盖-->
<logger name="com.me" level="${log.level}" additivity="true">
    <!-- level表示只记录哪一个级别以上的日志 -->
    <!-- 与appender进行绑定 -->
    <appender-ref ref="debugAppender"/>
    <appender-ref ref="infoAppender"/>
    <appender-ref ref="errorAppender"/>
</logger>
<root level="info">
    <appender-ref ref="consoleAppender"/>
</root>

第二个:

<?xml version="1.0" encoding="UTF-8" ?> xiaoming %yellow(%d{yyyy-MM-dd HH:mm:ss}) %red([%thread]) %highlight(%-5level) %cyan(%logger{50}) - %magenta(%msg) %n UTF-8
<!--根据日志级别分离日志,分别输出到不同的文件-->
<appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>ERROR</level>
        <onMatch>DENY</onMatch>
        <onMismatch>ACCEPT</onMismatch>
    </filter>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        </pattern>
        <charset>UTF-8</charset>
    </encoder>
    <!--滚动策略-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!--按时间保存日志 修改格式可以按小时、按天、月来保存-->
        <fileNamePattern>${logging.path}/xiaoming.info.%d{yyyy-MM-dd}.log</fileNamePattern>
        <!--保存时长-->
        <MaxHistory>90</MaxHistory>
        <!--文件大小-->
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>
</appender>

<appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
        <level>ERROR</level>
    </filter>
    <encoder>
        <pattern>
            %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n
        </pattern>
    </encoder>
    <!--滚动策略-->
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!--路径-->
        <fileNamePattern>${logging.path}/xiaoming.error.%d{yyyy-MM-dd}.log</fileNamePattern>
        <MaxHistory>90</MaxHistory>
    </rollingPolicy>
</appender>
<root level="info">
    <appender-ref ref="consoleLog"/>
    <appender-ref ref="fileInfoLog"/>
    <appender-ref ref="fileErrorLog"/>
</root>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值