Spring Boot项目——logback 动态获取yml文件配置参数

背景

  • 在项目中,日志需要根据不同项目环境进行处理,比如记录日志级别,日志留存时间等。
  • 我们需要在不同的yml文件中设置变量,logback文件中动态获取参数,进行日志配置。

方法

  • yml文件
log:
file:
path: /data/appLogs/miner/miner-cron-logs/ #日志目录
maxhistory: 30 #留存天数
  • logback文件使用
复制代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
    <!-- 日志文件存储位置 -->
    <springProperty scope="context" name="logPath" source="log.file.path" defaultValue="logs"/>
    <!-- 日志最大存活时间(天),默认30天 -->
    <springProperty scope="context" name="maxHistory" source="log.file.maxhistory" defaultValue="30"/>


    <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 日志保存目录 -->
        <param name="file" value="${logPath}/debugger.log"/>
        <param name="Encoding" value="UTF-8"/>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>DEBUG</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/%d{yyyy-MM-dd,aux}/debug.%d{yyyy-MM-dd}.log
            </fileNamePattern>
            <!-- 日志保存时间 -->
            <maxHistory>${maxHistory}</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%d [%p %t %X{ip} %X{flag} %F:%L] - %m%n</pattern>
        </encoder>
    </appender>
</configuration>
复制代码

 

posted @   话·醉月  阅读(2203)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示