首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[Logback]logback基于时间和大小的分片设置样例

[Logback]logback基于时间和大小的分片设置样例

作者头像
master336
发布2026-06-15 19:27:08
发布2026-06-15 19:27:08
1080
举报

基于时间和大小拆分日志文件的参考

  • 基于时间按天保存到不同的日志文件种去
  • 设置历史日志清理策略
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60"  debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="./log" />
    <springProperty scope="context" name="APP_NAME" source="spring.application.name" defaultValue="user.dir"/>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%date{yyyy-MM-dd HH:mm:ss} | %highlight(%-5level) | %boldBlue(%X{traceId}) | %boldYellow(%thread) | - %logger{36}:%line | %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE"  class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/log-${APP_NAME}-%d{yyyyMMdd}.%i.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
            <!-- 单个文件达到最大10MB时开始切分 -->
            <maxFileSize>10MB</maxFileSize>
            <!-- 当日志容量超过20GB,即使没有到保存期限的30天也会开启日志清理 -->
            <totalSizeCap>20GB</totalSizeCap>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} | %-5level | %X{cbpcTraceId} | [%thread]  %logger{50}:%line | %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
    <!--    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>50MB</MaxFileSize>
        </triggeringPolicy>-->
    </appender>

    <!--myibatis log configure-->
    <logger name="com.ccdc.cbpc" level="DEBUG"/>
    <logger name="org.springframework.boot" level="INFO"/>
    <logger name="org.springframework.cloud" level="INFO"/>
    <logger name="org.mybatis" level="DEBUG"/>
    <logger name="net.schmizz" level="INFO"/>
    <logger name="net.schmizz.sshj.DefaultConfig" level="ERROR"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

    <!-- 日志输出级别 -->
    <root level="DEBUG">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
    </root>
    <!--日志异步到数据库 -->
    <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender">-->
    <!--<!–日志异步到数据库 –>-->
    <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource">-->
    <!--<!–连接池 –>-->
    <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource">-->
    <!--<driverClass>com.mysql.jdbc.Driver</driverClass>-->
    <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url>-->
    <!--<user>root</user>-->
    <!--<password>root</password>-->
    <!--</dataSource>-->
    <!--</connectionSource>-->
    <!--</appender>-->
</configuration>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于时间和大小拆分日志文件的参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档