前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot配置Logback 日志按时间和按大小分割

SpringBoot配置Logback 日志按时间和按大小分割

作者头像
你的明明呐丶
发布2022-06-27 12:37:00
2.7K0
发布2022-06-27 12:37:00
举报
文章被收录于专栏:用户4184852的专栏

下面是我的配置

创建 logback-spring.xml 写入下面的配置

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 -->
    <property name="LOG_HOME" value="./logs" />
    <property name="AppName" value="nav" />
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %magenta(%-5level) %green([%-50.50class]) >>> %cyan(%msg) %n</pattern>
        </layout>
    </appender>
    <!-- 输出日志到文件中 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--不输出ERROR级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <!-- 设置按尺寸和时间(同时满足)分割 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${LOG_HOME}/info/%d{yyyy-MM-dd}-%i-info.log</fileNamePattern>
            <!--单个日志文件最大值-->
            <maxFileSize>10MB</maxFileSize>
            <!--日志保留天数-->
            <maxHistory>30</maxHistory>
            <!--日志文件总体的最大值-->
            <totalSizeCap>1GB</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} [%thread] %-5level %logger{50}-%msg%n</pattern>
        </encoder>
    </appender>
    <!-- 输出错误日志到文件中 -->
    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--只输出ERROR级别的日志-->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- 设置按尺寸和时间(同时满足)分割 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- rollover daily -->
            <fileNamePattern>${LOG_HOME}/error/%d{yyyy-MM-dd}-%i-error.log</fileNamePattern>
            <!--单个日志文件最大值-->
            <maxFileSize>10MB</maxFileSize>
            <!--日志保留天数-->
            <maxHistory>30</maxHistory>
            <!--日志文件总体的最大值-->
            <totalSizeCap>1GB</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} [%thread] %-5level %logger{50}-%msg%n</pattern>
        </encoder>
    </appender>
    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE" />
        <appender-ref ref="ERROR_FILE" />
    </root>
</configuration>

然后你运行完你的项目之后,会发现项目的同级目录下出现了一个logs文件夹,这里里面记录了你的项目运行时候的日志,按大小和时间分割。

图片[1]-SpringBoot配置Logback 日志按时间和按大小分割-明恒博客
图片[1]-SpringBoot配置Logback 日志按时间和按大小分割-明恒博客
图片[2]-SpringBoot配置Logback 日志按时间和按大小分割-明恒博客
图片[2]-SpringBoot配置Logback 日志按时间和按大小分割-明恒博客
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档