日志管理
日志管理是系统的操作的记录文件或记录文件的总和,通过打印系统运行的状态信息,可以更加快速的分析查找问题。
在Java开发中提供了两大日志接口SLF4j(Simple Logging Facade For Java)和Logback(Apache Commons Logging),通过规范接口我们可以很方便的调用接口中的方法实现各种功能。在规范的接口下,不同的厂商开发了自己的实现类例如log4j、logback、java.utils.loggind(jul)等等,现在较为常用的是logback。
logback引用
在maven项目中的pom.xml中添加依赖
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
jar包导入完成后就可以看到Libraris中就加载好了logback的核心库和标准库还有slf4j的接口库
在项目开发过程中如果需要更换日志开发的依赖,只需要替换底层的依赖,slf4j会自动进行实现类的切换
此时再进行测试时,在控制台就可以看到输出的日志
logback配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n</pattern>
</encoder>
</appender>
<root level="debug">
<appender-ref ref="console"/>
</root>
</configuration>
appender
标签表示需要输出的位置,也叫输出器或追加器,name
属性为输出器的名称可以随意命名,首要的我们需要向控制台输出日志,所以可以先添加一个控制台的输出器,class为核心类的路径。
encoder
下的标签pattern
为规范输出日志的格式,具体格式描述如下:
%d{HH:mm:ss.SSS}
:设置时间格式%thread
:线程名称%level
:输出日志的等级(这里的-5为占位5个字符左对齐)%logger
:输出执行的类的信息,大括号内的内容为显示的长度,若超出该程度会对包名进行缩减%msg
:输出信息%n
:换行
root标签表示打印的根标签,属性level为需要打印日志的等级,书写appender-ref标签引用上文的console的输出器进行日志的打印。
level | 描述 |
---|---|
error | 错误,系统存在故障 |
warn | 警告,存在风险或不恰当使用 |
info | 一般性消息 |
debug | 程序内部调试信息 |
trace | 程序运行跟踪信息 |
level等级从上到下优先级由高到低,设置level后可以打印该等级以上的日志