一、Logback简介

logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的。
logback由三个部分组成,logback-core, logback-classic, logback-access。其中logback-core是其他两个模块的基础。

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

logback-access:访问模块和Servlet容器集成,提供通过Http来访问日志的功能

二、Logback的配置介绍

1、logger、appender以及layout

logger:作为日志的记录器,把它关联到应用的对应的context后,主要用于存放日志对象,也可以定义日志类型、级别。

appender:主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、MySQL、PostreSQL、

Oracle和其他数据库、JMS和远程UNIX Syslog守护进程等。

layout:负责把事件转换成字符串,格式化日志信息的输出

2、logger context

各个logger都被关联到一个loggerContext中,loggerContext负责制造logger,也负责以树结构排列个logger。

logger的取得:通过org.slf4j.LoggerFactory的getLogger()方法取得,getLogger()方法有两种实现形式,getLogger(Class obj)方式是通过传入一个类的形式来进行logger对象和类的绑定;getLogger(String name)方式是通过传入一个contextName的形式来指定一个logger,用同一个名字调用该方法获取的永远都是同一个logger对象的引用。

3、logger级别及继承

logger可以被分配级别,级别包括:TRACE < DEBUG < INFO < WARN < ERROR,定义于ch.qos.logback.classic.Level类中。

如果logger没有被分配级别,name它将从有被分配级别的最近的父类那里继承级别,root logger默认级别是DEBUG。

4、打印方法及基本的选择规则

打印方法决定记录请求的类别。例如,如果L是一个logger实例,那么logger.info(“…”)表明这是一条级别为INFO的记录请求。记录请求

级别在高于或等于其logger的有效级别时为启用,否则为禁用。只有在请求级别大于有效级别时,该请求才会被执行。

级别的排序为:TRACE < DEBUG < INFO < WARN < ERROR。

5、logback的默认配置

Logback默认配置步骤

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

输出模式:%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%msg%n
输出模式解释:时间日期格式-调用的线程-日志界别-调用对象-日志信息-换行

maven依赖

配置文件示例




HTTPX 基础教程-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客