zoukankan      html  css  js  c++  java
  • springboot-用logback将日志文件按等级保存到不同文件

    springboot-用logback将日志文件按等级保存到不同文件

    案例:

    例如项目基本包名为com.xxx,将该包下的所有日志按debug、info、warn、error等级分别保存到D:/log文件夹下的logback_debug、logback_info、logback_warn、

    logback_error文件中。每日凌晨0点将日志文件归档保存为zip压缩包,每个压缩包最大50M,若压缩包文件大小超过50M,将会被保存为多个压缩包。最多保留最近

    30天的归档日志文件。


    logback-spring.xml配置文件如下图所示:

    <configuration debug="false" scan="true" scanPeriod="10 seconds">
        <!--<include resource="org/springframework/boot/logging/logback/base.xml"/>-->
        <!--<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>-->
    
        <contextName>logback</contextName>
        
        <!--输出sql语句-->
        <logger name="com.xxx" level="debug"/>
        <property name="path" value="D:/log"></property>
        <property name="maxHistory" value="30"/>
        <property name="maxFileSize" value="50MB"/>
    
        <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter>
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
        </appender>
    
        <appender name="debug_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${path}/logback_debug.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 每天一归档 -->
                <fileNamePattern>${path}/logback_debug.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern>
                <maxHistory>${maxHistory}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${maxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>DEBUG</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <appender name="info_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${path}/logback_info.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 每天一归档 -->
                <fileNamePattern>${path}/logback_info.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern>
                <maxHistory>${maxHistory}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${maxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <appender name="warn_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${path}/logback_warn.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 每天一归档 -->
                <fileNamePattern>${path}/logback_warn.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern>
                <maxHistory>${maxHistory}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${maxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
    
        <appender name="error_file" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${path}/logback_error.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 每天一归档 -->
                <fileNamePattern>${path}/logback_error.log.%d{yyyy-MM-dd}-%i.zip</fileNamePattern>
                <maxHistory>${maxHistory}</maxHistory>
                <timeBasedFileNamingAndTriggeringPolicy
                        class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>${maxFileSize}</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>%date %level [%thread] %logger{36} [%file : %line] %msg%n
                </pattern>
            </encoder>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
        </appender>
    
        <root>
            <level value="info"/>
            <appender-ref ref="console"/>
            <appender-ref ref="debug_file"/>
            <appender-ref ref="info_file"/>
            <appender-ref ref="warn_file"/>
            <appender-ref ref="error_file"/>
        </root>
    
    </configuration>
  • 相关阅读:
    第1章 基础知识
    图学习学术速递[2021/10/14]
    图学习学术速递[2021/10/15]
    期望—方差—协方差—协方差矩阵—相关系数
    哈达玛积
    论文解读(MPNN)Neural Message Passing for Quantum Chemistry
    pip 命令总结
    图学习学术速递[2021/10/13]
    Codeforces Round #693 (Div. 3) D. Even-Odd Game
    Codeforces Round #693 (Div. 3) B. Fair Division
  • 原文地址:https://www.cnblogs.com/zuidongfeng/p/9135864.html
Copyright © 2011-2022 走看看