您的位置:首页 > 编程语言 > Java开发

SpringBoot日志框架应用

2019-03-01 11:37 176 查看

SpringBoot日志框架应用


日志是每个系统必不可少的一部分,当系统出现问题,首先查看的就是日志,了解系统运行情况首选也是日志。本文记录的是SpringBoot自带日志logback。
源码地址:https://github.com/liuzhiyang001/myStudy/tree/master/logback日志

1.logback的组件

1、logback-core:其它两个模块的基础模块
2、logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging
3、logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能

2 logback的配置步骤

1、尝试在 classpath下查找文件logback-test.xml;
2、如果文件不存在,则查找文件logback.xml;
3、如果两个文件都不存在,logback用BasicConfigurator自动对自己进行配置,这会导致记录输出到控制台。

3 logback配置节点

(1)根节点,包含下面三个属性:
 scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。
   scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。当scan为true时,此属性生效。默认的时间间隔为1分钟。
   debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。

(2)子节点:
用来设置上下文名称,每个logger都关联到logger上下文,默认上下文名称为default。但可以使用设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。
(3) 子节点 :用来定义变量值,它有两个属性name和value,通过定义的值会被插入到logger上下文中,可以使“${}”来使用变量。
  name: 变量的名称
   value: 的值时变量定义的值
(4)子节点:
获取时间戳字符串,他有两个属性key和datePattern
key: 标识此 的名字;
datePattern: 设置将当前时间(解析配置文件的时间)转换为字符串的模式,遵循java.txt.SimpleDateFormat的格式。
(5)子节点:
负责写日志的组件,它有两个必要属性name和class。name指定appender名称,class指定appender的全限定名
1、ConsoleAppender 把日志输出到控制台。
2、FileAppender:把日志添加到文件。
3、RollingFileAppender:滚动记录文件,先将日志记录到指定文件,当符合某个条件时,将日志记录到其他文件。
4、还有SocketAppender、SMTPAppender、DBAppender、SyslogAppender、SiftingAppender
(6)子节点:
用来设置某一个包或具体的某一个类的日志打印级别、以及指定。仅有一个name属性,一个可选的level和一个可选的addtivity属性。
(7)子节点:
它也是元素,但是它是根loger,是所有的上级。只有一个level属性,因为name已经被命名为"root",且已经是最上级了。
(8)日志级别
下表显示了选择规则是如何工作的。行头是记录请求的级别 p。列头是 logger 的有效级 别 q。行(请求级别)与列(有效级别)的交叉部分是按照基本选择规则得出的布尔值。

4 Logback配置

定义日志文件的存储地址

每天生成日志文件

控制台输出

控制台输出sql

日志存储到数据库

加如根节点

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: