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>
分类:
Spring Boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」