系统日志设计
系统日志设计
开发环境
1、Java+SpringBoot+JPA
2、Logback-spring.xml配置项详解
1 | 一个父标签:configuration |
2.1、configuration标签
- scan
- 当此属性设置为true时,配置文件如果发生改变,将会重新加载,默认值为true
- scanPeriod
- 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
- debug
- 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。
两个属性contextName和property
- contextName
- 每个logger都关联到logger上下文,默认上下文名称为“default”。但可以使用设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
- property
- 用来定义变量值的标签, 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。
例如使用定义上下文名称,然后在设置logger上下文时使用。
- 用来定义变量值的标签, 有两个属性,name和value;其中name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。
2.2、三个节点appender、root、logger
2.2.1 append节点
appender的意思是追加器,在这里可以理解为一个日志的渲染器(或者说格式化日志输出)。比如渲染console日志为某种格式,渲染文件日志为另一种格式。
appender中有name和class两个属性,有rollingPolicy和encoder两个子节点。
name表示该渲染器的名字,class表示使用的输出策略,常见的有控制台输出策略和文件输出策略。
encoder表示输出格式,具体说明如下:
%d表示时间
%thread表示线程名
%-5level 表示日志级别,允许以五个字符长度输出
%logger{50}表示具体的日志输出者,比如类名,括号内表示长度
%msg表示具体的日志消息,就是logger.info(“xxx”)中的xxx
%n表示换行
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HiAsia的小站!
评论