springboot配置 logback-spring 日志,通过时间和日志文件大小分割日志

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">

    <!-- 加载日志环境相关配置 -->
    <springProperty scope="context" name="logLevel" source="log.level" />
    <springProperty scope="context" name="logOutPath" source="log.out.path" />

    <!-- 日志输出格式:%d表示日期,%X{requestId}表示mdcid,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 -->
    <property name="logPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{requestId}] [%thread] %-5level %logger{50} - %msg%n"/>

    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${logPattern}</pattern>
        </encoder>
    </appender>
    <!-- 设置分割 -->
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 设置按尺寸和时间(同时满足)分割 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <!--<FileNamePattern>${logOutPath}/info.log.%d{yyyy-MM-dd-HH-mm}.log</FileNamePattern>-->
            <FileNamePattern>${logOutPath}/info.log.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
            <!--文件最大大小-->
            <MaxFileSize>10MB</MaxFileSize>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${logPattern}</pattern>
        </encoder>

        <!-- 输出的日志级别 -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>${logLevel}</level>
        </filter>
    </appender>

    <!-- 配置定时任务启动时找不到默认的定时任务报错而使用info级别(不影响使用) -->
    <logger name="org.springframework.scheduling">
        <level value="info" />
    </logger>

    <!--myibatis log configure-->
    <logger name="com.apache.ibatis" level="TRACE"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

    <!-- 日志输出级别 -->
    <root level="${logLevel}">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>

</configuration>

logLevel 和 logOutPath 是配置在相应的 .properties 配置文件中的,自己根据不同的环境配置日志的输出格式和日志输出的路径就可以了,可以直接复制代码内容,新建一个 logback-spring.xml 文件,放在项目的 resources目录下就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值