zoukankan      html  css  js  c++  java
  • 小记,springboot项目中自己常用的logback配置文件

    把配置文件放到resources这个classpath目录即可生效,日志输入样式是从springboot中日志配置中copy过来的, 其他常用配置不做过多注释了。

    logback-spring.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
        <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
        <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
    
        <property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
        <property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
        
        <property name="MAX_FILE_SIZE" value="20MB"></property>
        <property name="MAX_HISTORY" value="20"></property>
        <property name="TOTAL_SIZECAP" value="10GB"></property>
        <property name="LOG_DIR" value="logs"/>
        <property name="DEBUG_LOG_FILE" value="${LOG_DIR}/debug/debug.log"/>
        <property name="INFO_LOG_FILE" value="${LOG_DIR}/info/info.log"/>
        <property name="WARN_LOG_FILE" value="${LOG_DIR}/warn/warn.log"/>
        <property name="ERROR_LOG_FILE" value="${LOG_DIR}/error/error.log"/>
    
        <!--console-->
        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <pattern>${CONSOLE_LOG_PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
        </appender>
    
        <!--debug-->
        <appender name="FILE-DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${DEBUG_LOG_FILE}</file>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>DEBUG</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <!-- rollover daily -->
                <fileNamePattern>${DEBUG_LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
                <maxHistory>${MAX_HISTORY}</maxHistory>
                <totalSizeCap>${TOTAL_SIZECAP}</totalSizeCap>
            </rollingPolicy>
        </appender>
    
        <!--info-->
        <appender name="FILE-INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${INFO_LOG_FILE}</file>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>INFO</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${INFO_LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
                <maxHistory>${MAX_HISTORY}</maxHistory>
                <totalSizeCap>${TOTAL_SIZECAP}</totalSizeCap>
            </rollingPolicy>
        </appender>
    
        <!--warn-->
        <appender name="FILE-WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${WARN_LOG_FILE}</file>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>WARN</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${WARN_LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
                <maxHistory>${MAX_HISTORY}</maxHistory>
                <totalSizeCap>${TOTAL_SIZECAP}</totalSizeCap>
            </rollingPolicy>
        </appender>
    
        <!--error-->
        <appender name="FILE-ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${ERROR_LOG_FILE}</file>
            <filter class="ch.qos.logback.classic.filter.LevelFilter">
                <level>ERROR</level>
                <onMatch>ACCEPT</onMatch>
                <onMismatch>DENY</onMismatch>
            </filter>
            <encoder>
                <pattern>${FILE_LOG_PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
            <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                <fileNamePattern>${ERROR_LOG_FILE}-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
                <maxFileSize>${MAX_FILE_SIZE}</maxFileSize>
                <maxHistory>${MAX_HISTORY}</maxHistory>
                <totalSizeCap>${TOTAL_SIZECAP}</totalSizeCap>
            </rollingPolicy>
        </appender>
    
        <logger name="com.cymin" level="DEBUG"/>
    
        <!--root-->
        <root level="INFO">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="FILE-DEBUG" />
            <appender-ref ref="FILE-INFO" />
            <appender-ref ref="FILE-WARN" />
            <appender-ref ref="FILE-ERROR" />
        </root>
    </configuration>
  • 相关阅读:
    git clone 慢,使用镜像
    Mysql 插入 path 插入不进去值
    os.walk 获取文件夹下所有的文件
    Manjaro安装后你需要这样做(仅有网址)
    Mysql 查询优化
    pandas df.to_csv 可保存为 txt 类型 index 设置索引 header 列名 sep 使用什么进行分隔
    pandas pd.to_markdown() 转换为 Markdown pd.to_latex() 转换为 latex
    pandas 读取txt seq分隔符类型 engine指定引擎 header 不将第一行作为列名
    pandas 读取文件时 header设置列名 index_col 设置索引 usecols 读取哪几列 parse_dates 将哪一列设置为时间类型 nrows 读取数据行数
    numpy cumprod 累乘 cumsum 累加 diff 和前一个元素做差值
  • 原文地址:https://www.cnblogs.com/UUUP/p/10143564.html
Copyright © 2011-2022 走看看