Springboot内外部logback多环境配置详解

网友投稿 299 2022-11-07

Springboot内外部logback多环境配置详解

目录一、概述二、项目内外配置三、使用自定义appender四、logback查找配置源码五、案例源码

一、概述

SpringBoot官方文档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

http:// 60

${log.pattern}

ERROR

ACCEPT

<onMismatch>DENY

${log.basePath}/${log.path}/sys-user.log

${log.basePath}/${log.path}/sys-user.%d{yyyy-MM-dd}.log

60

${log.pattern}

三、使用自定义appender

使用LombokLombok 内置 @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"};

}

五、案例源码

github : https://github.com/duke147/springboot-logback.git

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Xilinx在IDF13上展示业界首款FPGA80Gbps网络接口卡和最新Intel QPI接口实现方案
下一篇:边缘云计算标准化需求与建议
相关文章

 发表评论

暂时没有评论,来抢沙发吧~