本篇文章小编给大家分享一下Springboot内外部logback多环境配置代码解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
一、概述
Springboot 默认读取的是项目内的 resources 中 logback 配置文件。
如果 classpath(resources) 下有logback-test.xml会优先生效,并且会和其他logback文件同时生效。
Springboot 默认日志级别是DEBUG,所以在logback初始化之前,会有DEBUG日志输出。
二、项目内外配置
注意:logback-{xxx}.xml不能直接放在resources目录下,否则logback-test.xml会优先生效。
1.application.yml指定 activeprofiles
# Spring配置
spring:
profiles:
active: test
2.activeprofiles指定logback-{xxx}.xml
########## logback-{xxx}.xml 文件打包在项目内部 ##########
logging:
config: classpath:logback/logback-test.xml
########## logback-{xxx}.xml 文件打包在项目外部(去掉classpath) ##########
logging:
config: /Users/wangfugui/Downloads/logback/logback-test.xml
3.logback-{xxx}.xml
${log.pattern} ${log.basePath}/${log.path}/sys-info.log ${log.basePath}/${log.path}/sys-info.%d{yyyy-MM-dd}.log 60 ${log.pattern} INFO ACCEPT DENY ${log.basePath}/${log.path}/sys-error.log ${log.basePath}/${log.path}/sys-error.%d{yyyy-MM-dd}.log 60 ${log.pattern} ERROR ACCEPT DENY ${log.basePath}/${log.path}/sys-user.log ${log.basePath}/${log.path}/sys-user.%d{yyyy-MM-dd}.log 60 ${log.pattern}
三、使用自定义appender
使用Lombok
Lombok 内置 @Slf4j 、@Log4j2 两种日志注解。
@Log4j2(topic = "sys-user") @Slf4j(topic = "sys-user")
不使用Lombok
Logger logger = LoggerFactory.getLogger("sys-user");
四、logback查找配置源码
org.springframework.boot.logging.logback.LogbackLoggingSystem
protected String[] getStandardConfigLocations() {
return new String[]{"logback-test.groovy", "logback-test.xml", "logback.groovy", "logback.xml"};
}
疯狂医院达什医生中文版(Crazy Hospital)
疯狂医院达什医生最新版是一款医院模拟经营类游戏,逼真的场景画
宝宝庄园官方版
宝宝庄园官方版是一款超级经典好玩的模拟经营类型的手游,这个游
桃源记官方正版
桃源记是一款休闲娱乐类的水墨手绘风格打造的模拟经营手游。玩家
长途巴士模拟器手机版
长途巴士模拟器汉化版是一款十分比真好玩的大巴车模拟驾驶运营类
房东模拟器最新版2024
房东模拟器中文版是一个超级有趣的模拟经营类型的手游,这个游戏