logback系列教程

logback是一个开源的日志组件,同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架。

模块

logback-core

是logback-access,logback-classic两个模块的基础

logback-classic

它是log4j的一个改良版本,同时它完整实现了slf4j API,使我们可以在其他日志系统,如log4j和JDK14 Logging中进行转换

logback-access

访问模块和Servlet容器集成,为tomcat等提供通过Http来访问日志的功能

主要类

Logger

位于 logback-classic模块中,作为日志的记录器,把它关联到应用的对应的context后,主要用于存放日志对象,也可以定义日志类型、级别。详解可以见log4j logger

Appender

位于logback-core中,主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、MySQL、PostreSQL、Oracle和其他数据库、JMS和远程UNIX Syslog守护进程等。

Layout

位于logback-core中,负责把事件转换成字符串,格式化日志信息的输出,详细可以见log4j的layout详解

Appender和Layout 并不关心Logger的存在,不依赖于Logger,同时也能看出,Logger 会依赖于Appender 和 Layout 的协助,日志信息才能被正常打印出来。

filter

Filter主要应用在appeder上,只在appender级别起作用,起到过滤日志相关作用。

日志级别

logback有5种级别,分别是TRACE < DEBUG < INFO < WARN < ERROR,定义于ch.qos.logback.classic.Level类中。

配置文件

logback一般通过logback.xml进行配置

配置读取步骤:

(1) 尝试在classpath下查找文件logback-test.xml

(2) 如果文件不存在,则查找文件logback.xml

(3) 如果两个文件都不存在,则用BasicConfigurator自动对自己进行配置,把记录输出到控制台

maven依赖

<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>1.7.21</version>
</dependency>

<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
  <version>1.1.7</version>
</dependency>
<dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>1.1.7</version>
</dependency>

实例

1. spring mvc+logback

2. springboot+logback

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。