spring 中的logback-spring.xml的配置解释

背景解释

是log4j的创始人设计的另外一个开源组件,主要有logback-core:基础模块
logback-classic:一个改良版版本,实现了slf4j
logback-access:访问模块和servlet容器集成通过提供http来访问日志功能

取代log4j理由

1.更快
2.充分的测试
3.文档充分
4.自动重新加载配置文件

配置介绍

  1. 根节点 configuration,有三个属性
    scan,为true,配置文件发生改变,重新加载,默认为true
    scanPeriod,设置监测配置文件修改的时间间隔,默认单位毫秒,scan为true,生效,默认时间1min
    debug,为true会打印内部信息

2.子节点 contextname,这支上下文名称,区分不同程序的记录

3.子节点property,定义变量的值,属性name和value,可以使用${}来使用

4.子节点 timestamp,获取时间戳字符串,key和datePattern
key表示名字,datePattern,设置将当前时间转化为字符串的模式

  1. 自己诶单appender,核心组件,负责写日志,属性name和class
    name制定appender的名称
    class制定appender的权限定名称
    5.1 ConsoleAppender 把日志输出到控制台,有一下子节点
    encoder 对日志进行格式化
    target 字符串System.out 或者System.err

5.2 FileAppender 把日志添加到文件,有以下子节点
File 被写入的文件名称
append,如果是true,追加到文件结尾,如果是false,清空现在的文件,默认为true
encoder对记录的时间进行格式化,比如%thread之类
prudent 如果是true,日志会被安全的写入文件,即使其他的FileAppender也在向这个文件写入,效率低,默认是false

rollingPolicy 发生滚动的时候,决定RollingFileAppender的行为,涉及文件移动和重命名,属性class定义具体的滚动策略类。

5.3 RollFileAppender,滚动记录文件,先将日志记录到指定文件,当符合某个条件,将日志记录到其他文件,有以下子节点
encoder对记录的时间进行格式化,比如%thread之类
prudent 如果是true,日志会被安全的写入文件,即使其他的FileAppender也在向这个文件写入,效率低,默认是false

rollingPolicy 发生滚动的时候,决定RollingFileAppender的行为,涉及文件移动和重命名,属性class定义具体的滚动策略类。

还有其他比如socketappender,smtpappender等等

  1. 子节点loger,设置某一个包或者具体类的日志打印机别,和指定appender,只有一个name属性,一个可选的level和addtivity属性

7.子节点root 也是loger元素,根式loger,是所有loger的上级,只有一个level属性,用来设置打印机别,默认是debug

总结

配置需要配置的输出源,打印日志的loger子节点,和root根节点,输出日志从子节点开始

你可能感兴趣的:(spring 中的logback-spring.xml的配置解释)