• 一个logback-spring.xml配置


    一个logback-spring.xml配置。

    配置如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <configuration debug="true" scan="false">
        <contextName>logback-test</contextName>
        <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
        <!--  工程名,配置中读取  -->
        <springProperty scope="context" name="springAppName" source="spring.application.name"/>
        <!--  日志目录,配置中读取  -->
        <springProperty scope="context" name="loggerFolder" source="logger.folder"/>
        <!--  日志文件名称  -->
        <property name="LOG_FILE" value="${FILE_PATH}/${springAppName}.log"/>
        <!--  日志文件目录  -->
        <property name="FILE_PATH" value="${loggerFolder:-build}/logs/code-test"/>
        <!--  彩色PATTERN  -->
        <property name="PATTERN" value="[%highlight(%-5level)][%green(%d{yyyy-MM-dd HH:mm:ss.SSS})][%boldMagenta(%class{39}.%M\(%line\))][%thread] -%msg%n"/>
    
        <!--  控制台输出  -->
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>DEBUG</level>
            </filter>
            <encoder>
                <pattern>${PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
        </appender>
    
        <!--  日志文件配置  -->
        <appender name="LOG_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOG_FILE}</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!-- 滚动  -->
                <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}</fileNamePattern>
                <!-- 保存最近10天 -->
                <maxHistory>10</maxHistory>
                <!-- 超过2G删除旧日志 -->
                <totalSizeCap>2GB</totalSizeCap>
            </rollingPolicy>
            <encoder>
                <pattern>${PATTERN}</pattern>
                <charset>utf8</charset>
            </encoder>
        </appender>
    
        <!-- org.springframework包下的类只打印warn级别上日志 -->
        <logger name="org.springframework" level="warn"/>
    
        <!-- spring配置文件值:spring.profiles.active=dev -->
        <springProfile name="dev">
            <root level="INFO">
                <appender-ref ref="STDOUT"/>
                <appender-ref ref="LOG_FILE"/>
            </root>
        </springProfile>
        <springProfile name="test">
            <root level="INFO">
                <appender-ref ref="LOG_FILE"/>
            </root>
        </springProfile>
        <springProfile name="pro">
            <root level="INFO">
                <appender-ref ref="LOG_FILE"/>
            </root>
        </springProfile>
    </configuration>
    

    在微服务中经常会用到链路追踪等,会在日志中添加traceIdspanId。可以继承类ch.qos.logback.classic.pattern.ClassicConverter,然后在logback-spring.xml中添加<conversionRule/>进行处理。

    原创 Doflamingo https://www.cnblogs.com/doflamingo
  • 相关阅读:
    HBase
    linux配置环境变量
    ubuntu17.04安装flash
    WebService服务及客户端 编程
    eclipse
    设计模式:简单工厂
    设计模式:工厂方法
    C#加载dll 创建类对象
    C#线程
    Opencv 3入门(毛星云)摘要
  • 原文地址:https://www.cnblogs.com/doflamingo/p/14325687.html
Copyright © 2020-2023  润新知