logback日志输出配置范例

logback日志输出配置范例

wutool中,提供了logback日志输出配置范例,实现日志文件大小限制、滚动覆盖策略、定时清理等功能。

关于wutool

wutool是一个java代码片段收集库,针对特定场景提供轻量解决方案,只要按需选择代码片段拷贝使用即可。项目git地址https://github.com/handsomestWei/wutool,欢迎star

logback配置说明

配置文件链接https://github.com/handsomestWei/wutool/tree/main/src/main/resources/logback.xml

日志配置热更新

修改logback.xml后无需重启服务,自动生效。需设定修改后配置生效的间隔。

xml 复制代码
<configuration scan="true" scanPeriod="60 seconds">

日志文件控制

文件大小限制、滚动覆盖策略、定时清理等。

xml 复制代码
	<appender name="file_debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${log.path}/sys-debug.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!-- 日志文件名格式 -->
            <fileNamePattern>${log.path}/sys-debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern>
            <!--每个文件的大小限制-->
            <MaxFileSize>200MB</MaxFileSize>
            <!--最多保留x天的文件,x天之前的将被清除-->
            <MaxHistory>7</MaxHistory>
            <!--该滚动策略日志的总大小,超过的日志会被清除-->
            <totalSizeCap>1GB</totalSizeCap>
            <!--启动时清理日志文件,清理超过保留天数的,也会清理超过总大小的-->
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>${log.pattern}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <!-- 过滤的级别 DEBUG-->
            <level>DEBUG</level>
            <!-- 匹配时的操作:接收(记录) -->
            <onMatch>ACCEPT</onMatch>
            <!-- 不匹配时的操作:拒绝(不记录) -->
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

日志输出格式

附加了traceId,需要配合调用链id注入模块使用,可参考wutooltraceId注入过滤器

xml 复制代码
<property name="log.pattern"
              value="%d{HH:mm:ss.SSS} - [%thread] - [%X{traceId}] - %-5level %logger{20} - [%method,%line] - %msg%n"/>
相关推荐
长路 ㅤ   15 天前
05、LangChain4j快速对接生图模型(百炼平台、智谱)
java开发·通义万相·智谱glm·langchain4j·ai生图
梦想总是可以实现的20 天前
SpringCloud2024 + JDK17实战:手把手教你从零搭建微服务全家桶(含Eureka+Gateway+Redis)
springcloud·微服务架构·java开发·分布式系统
蛐蛐蜉蝣耶1 个月前
互联网大厂Java面试实录:严肃面试官vs搞笑水货程序员的3轮技术对决
spring boot·微服务·高并发·java面试·电商系统·java开发·面试技巧
gb42152871 个月前
springboot项目如何查看使用的是Logback还是Log4j2还是SLF4J?
spring boot·log4j·logback
是大芒果1 个月前
Sa-Token(一)之简介及入门:告别鉴权内耗,让每一位Java开发者都能轻松上手
java开发
蛐蛐蜉蝣耶1 个月前
互联网大厂Java面试实录:严肃面试官VS搞笑水货程序员谢飞机的技术对决
spring boot·微服务·java面试·电商系统·java开发·技术面试·程序员面试
gb42152871 个月前
springboot项目中使用的Logback如何重写Logback获取error信息,获取到error信息后如何发送错误邮件
spring boot·后端·logback
虫小宝1 个月前
淘宝返利软件的日志审计系统:Java Logback+ELK Stack实现操作日志的可追溯与可视化分析
java·elk·logback
零度@1 个月前
logback 速查上手
logback
没有bug.的程序员1 个月前
Spring Boot 日志管理:从 Logback 深度配置到 ELK 万亿级日志中枢实战
java·spring boot·elk·logback·日志·管理