zoukankan      html  css  js  c++  java
  • logback配置日志文件/日志级别/按天自动归档历史日志文文件

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration  scan="true" scanPeriod="60 seconds" debug="false">
        <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{${LOG_DATEFORMAT_PATTERN:-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{${LOG_DATEFORMAT_PATTERN:-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="appName" value="api-app-gsdx-oa"/>
        <!-- 控制要保留的归档文件的最大数量,以异步方式删除较旧的文件,超过MaxHistory数量才会删除,只有当每天生成且只生成一个文件时才表示保留天数。 -->
        <property name="log.maxHistory" value="15"/>
    
        <!-- 日志的存放位置 -->
        <!--测试环境/开发环境-->
    <!--
        <property name="dev.log.filePath" value="C:\data\log"/>  <!--开发环境是Windows时-->
    -->
        <property name="dev.log.filePath" value="/data/log"/> <!--开发环境是MacOS时-->
        <!--生产环境-->
        <property name="pro.log.filePath" value="/data/log"/>
    
        <!-- 测试环境+开发环境. 多个使用逗号隔开. -->
        <springProfile name="test,dev">
            <!--输出到控制台-->
            <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
                <encoder>
                    <pattern>${CONSOLE_LOG_PATTERN}</pattern>
                </encoder>
            </appender>
            <!--按天生成日志-->
            <appender name="logFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">
                <!-- 文件路径 -->
                <!-- 当前的日志文件存放路径 -->
                <file>${dev.log.filePath}${file.separator}${appName}-dev.log</file>
                <!-- 日志滚动策略 -->
                <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                    <!-- 历史日志文件的存放路径和名称,日志归档文件 -->
                    <FileNamePattern>
                        ${dev.log.filePath}${file.separator}history${file.separator}%d{yyyy-MM-dd}/${appName}-dev-%d{yyyy-MM-dd}.%i.log
                    </FileNamePattern>
                    <!--启动项目时是否删除归档的历史日志文件-->
                    <cleanHistoryOnStart>false</cleanHistoryOnStart>
                    <!--日志文件最大的保存历史数量,只有当每天生成且只生成一个文件时才表示保留天数-->
                    <MaxHistory>${log.maxHistory}</MaxHistory>
                    <maxFileSize>100MB</maxFileSize>
                </rollingPolicy>
                <encoder>
                    <pattern>${FILE_LOG_PATTERN}</pattern>
                </encoder>
            </appender>
            <logger name="org.springframework.boot" level="info" additivity="false">
                <appender-ref ref="console"/>
                <appender-ref ref="logFile" />
            </logger>
            <logger name="root" level="info" additivity="false">
                <appender-ref ref="console"/>
                <appender-ref ref="logFile" />
            </logger>
        </springProfile>
    
        <!-- 生产环境-->
        <springProfile name="pro">
            <!--按天生成日志-->
            <appender name="logFile"  class="ch.qos.logback.core.rolling.RollingFileAppender">
                <!-- 文件路径 -->
                <!-- 当前的日志文件存放路径 -->
                <file>${pro.log.filePath}${file.separator}${appName}-prod.log</file>
                <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
                    <!-- 历史日志文件的存放路径和名称,日志归档文件 -->
                    <FileNamePattern>
                        ${pro.log.filePath}${file.separator}history${file.separator}%d{yyyy-MM-dd}${file.separator}${appName}-prod-%d{yyyy-MM-dd}.%i.log
                    </FileNamePattern>
                    <!--启动项目时是否删除归档的历史日志文件-->
                    <cleanHistoryOnStart>false</cleanHistoryOnStart>
                    <!--日志文件最大的保存历史数量,只有当每天生成且只生成一个文件时才表示保留天数-->
                    <MaxHistory>${log.maxHistory}</MaxHistory>
                    <maxFileSize>100MB</maxFileSize>
                </rollingPolicy>
                <encoder>
                    <pattern>${FILE_LOG_PATTERN}</pattern>
                </encoder>
            </appender>
    
            <!-- logger标签用于和appender进行绑定,并告诉logback哪些包(name属性)的日志信息需要记录 -->
            <!--logger将会继承root标签,在加上additivity="true"的属性后 root标签中的level将会被logger的level覆盖-->
    
            <logger name="root" level="error" additivity="false">
                <appender-ref ref="logFile" />
            </logger>
    
            <logger name="org.springframework.boot" level="info" additivity="false">
                <appender-ref ref="logFile" />
            </logger>
    
            <logger name="com.gsww.api.gsdx" level="info" additivity="true">
                <appender-ref ref="logFile" />
            </logger>
    
        </springProfile>
    </configuration>
  • 相关阅读:
    秒杀系统核心高性能解决方案(待续)
    LeetCode字符串专题
    LeetCode哈希表专题
    LeetCode排序专题【算法】
    Login项目学习笔记【Android】
    LeetCode树专题(遍历,BST,Trie)(未完成)
    Android studio导入别人项目的艰难记录
    LeetCode树专题(递归)(未完成)
    LeetCode双指针专题【算法】(未完成)
    LeetCode数组与矩阵专题(未完成)
  • 原文地址:https://www.cnblogs.com/zhouj850/p/13322654.html
Copyright © 2011-2022 走看看