spring profile 生成每日的日志

<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!--引入默认的一些设置-->
    <!-- <include resource="org/springframework/boot/logging/logback/base.xml"/> -->
    <!-- 彩色日志 -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />

    <springProperty scope="context" name="springAppName" source="spring.application.name"/>
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
    <springProperty scope="context" name="LOG_HOME" source="log.path" defaultValue="./log"/>


    <!-- 控制台输出 -->
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--彩色日志控制台打印-->
            <pattern>%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%-5level) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%20.20thread]){faint} %clr(%-50.50logger{50}){cyan} %clr(:){faint} %msg%n</pattern>
            <!--格式化输出:%d表示日期,%-5level:级别从左显示5个字符宽度,${PID:- }进程id %thread表示线程名,%msg:日志消息,%n是换行符 -->
            <!--<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level ${PID:- } -&#45;&#45; [%thread] %logger{50} - %msg%n</pattern>-->
        </encoder>
    </appender>


    <springProfile name="local,dev,test,prod">
        <!-- 按照每天生成日志文件 -->
        <!-- 注意这里一定要放到springProfile里, 否则在你本机执行的时候还是会去找相应的文件 -->
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!-- 生成每日的日志 -->
            <Prudent>true</Prudent>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--日志文件输出的文件名-->
                <FileNamePattern>${LOG_HOME}/${springAppName}.%d{yyyy-MM-dd}.log</FileNamePattern>
                <!--日志文件保留天数-->
                <maxHistory>15</maxHistory>
                <totalSizeCap>5GB</totalSizeCap>
            </rollingPolicy>
            <!-- 追加方式记录日志 -->
            <append>true</append>
            <!-- 日志文件的格式 -->
            <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
                <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
                <pattern>${springAppName}:%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
                <charset>utf-8</charset>
            </encoder>
            <!--日志文件最大的大小-->
            <!-- 需要生成每日的日志注释这里的配置 -->
            <!--<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <MaxFileSize>10MB</MaxFileSize>
            </triggeringPolicy>-->
        </appender>

        <appender name="asyncFileAppender" class="ch.qos.logback.classic.AsyncAppender">
            <discardingThreshold>0</discardingThreshold>
            <queueSize>500</queueSize>
            <appender-ref ref="FILE"/>
        </appender>
    </springProfile>

    <!-- <logger name="org.springframework.web"   additivity="true" level="INFO"/>
     <logger name="org.apache"   additivity="true" level="error"/>
     <logger name="com.huaxiang"   additivity="true" level="INFO"/>
     <logger name="xx.common.feign"   additivity="true" level="DEBUG"/> -->
     <logger name="java.sql.Statement"   additivity="true" level="DEBUG"/> 
    <logger name="java.sql.PreparedStatement" additivity="true" level="TRACE"/>

    <springProfile name="local,dev">
        <root level="INFO">
            <appender-ref ref="consoleAppender"/>
            <appender-ref ref="asyncFileAppender"/>
        </root>
    </springProfile>

    <springProfile name="test,prod">
        <root level="INFO">
            <appender-ref ref="consoleAppender"/>
            <appender-ref ref="asyncFileAppender"/>
        </root>
    </springProfile>

</configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值