logback 通用配置方案 颜色和结合application.yml

通用配置方案 颜色和结合application.yml。
1.包含颜色
2.在yml中指定包的日志等级
3.指定日志的根目录
4.指定日志文件的名字
5.错误日志作了单独的二次保存
6.按文件大小和日期滚动
7.日志目录格式如下

   /logs
        name-log-all.log
        name-log-error.log
        /backup
                name-log-all-2017-09-24.0.log      

application.yml

logging:
    home: "logs"
    name: "sell"
    level:
        root: "info"
        org.springframework: "info"
        com.gong: "debug"

logback-spring.xml

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <springProperty scope="context" name="logHome" source="logging.home" defaultValue="logs"/>
    <property name="LOG_HOME" value="${logHome}"></property>

    <springProperty scope="context" name="logName" source="logging.name" defaultValue="app"/>
    <property name="LOG_NAME" value="${logName}"></property>

    <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="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="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}}"/>

    <appender name="consoleLog" class = "ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <pattern>
                ${CONSOLE_LOG_PATTERN}
            </pattern>
        </layout>
    </appender>

    <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>
            <pattern>
                ${FILE_LOG_PATTERN}
            </pattern>
        </encoder>
        <file>${LOG_HOME}/${LOG_NAME}-all.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>
                <!--%d 日期格式 %i 指定Rolling时的序号-->
                ${LOG_HOME}/backup/${LOG_NAME}-log-all-%d{yyyy-MM-dd}.%i.log
            </fileNamePattern>
            <maxHistory>365</maxHistory>
            <!--指定回滚大小-->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </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>
                ${FILE_LOG_PATTERN}
            </pattern>
        </encoder>
        <file>${LOG_HOME}/${LOG_NAME}-error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>
                ${LOG_HOME}/backup/${LOG_NAME}-log-error-%d{yyyy-MM-dd}.%i.log
            </fileNamePattern>            <maxHistory>365</maxHistory>
            <!--指定回滚大小-->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>5MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

    <root level="${logging.level.root}">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>

结果如图

这里写图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值