目录
logback-spring.xml配置详解
1、父标签configuration
2、两种属性标签
3、三个节点标签
3.1、append节点标签
3.2、root节点标签
3.3、logger节点标签
3.4、logger和root的关系
4、完整日志配置
logback在springboot中有内置的存在,当然也可以再重新引用依赖,但是没必要。logback框架可以控制日志日志的打印级别、打印内容、还可以实现error级别日志报警,将其发送到指定邮箱或者钉钉。
在logback-spring.xml配置文件中,按标签的级别来分,有一个父标签,两种属性标签和和三种节点标签。分别是
一个父标签:configuration 两种属性:contextName和property 三个节点:appender、root、logger
springboot配置文件的加载顺序logback.xml->application.yml->logback-spring.xml
configuration最外层标签,该标签有三个属性:
contextName和property是处于第二层的标签。
contextName
标签用于指定日志上下文的名称。日志上下文是Logback框架中的一个重要概念,它表示一个独立的日志实例或日志环境。通过设置不同的上下文名称,您可以创建并配置多个独立的日志记录器,每个日志记录器可以有自己的日志级别、输出目标等配置。
logback_demo
property
用来定义变量值的标签, 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。
三个节点标签分别是append、logger、root
这个标签属于核心标签,用于定义日志的输出目标。它指定了日志消息将发送到哪里,例如控制台、文件、数据库等。
标签属性:
ch.qos.logback.core.ConsoleAppender
表示控制台输出,ch.qos.logback.core.FileAppender
表示文件输出。控制台输出时子标签:
控制台打印示例:
debug
${CONSOLE_LOG_PATTERN}
UTF-8
输出到文本时示例:
${log.path}/web_debug.log
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/web-debug-%d{yyyy-MM-dd}.%i.log
100MB
15
20GB
debug
ACCEPT
DENY
该标签的作用就是指定都启用那个append,可以指定多个
logger与root是相对的,作用范围不同,root相当于是对真个项目做配置,logger就是对项目下某个包或者某个类单独做配置的,
该标签有两个属性
name:用来指定受此loger约束的某一个包或者具体的某一个类。
addtivity:是否向上级loger传递打印信息。默认是true。
logger的appender根据参数additivity决定是否要叠加root的appender,logger的级别是其自身定义的级别,和root的级别没什么关系。
如果logger里面配置了additivity=“false”,就会覆盖root的,只打印一遍;但是additivity=“true”,就会向上层再次传递,不会覆盖,而是打印两遍!
将error日志打印到一个文件中,将其他日志打印到另一个文件夹中
util_demo
debug
${CONSOLE_LOG_PATTERN}
UTF-8
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/${springAppName}-error-%d{yyyy-MM-dd}.log
15
ERROR
ACCEPT
DENY
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/${springAppName}-info-%d{yyyy-MM-dd}.log
30
ERROR
DENY
ACCEPT
0
256
0
256
更详细的介绍参看这两篇博客,我也是看的这两个
logback-spring.xml配置文件标签(超详解) - 掘金 (juejin.cn)
logback整合Springboot及logback-spring.xml配置说明_logback-spring和logback同时存在_shanvlang的博客-CSDN博客