什么是logback?

logback是继log4j之后的一个日志框架,比其他现存的日志框架更快占用空间更小,有时候差距很大,还提供了一些其他日志框架没有的功能,作者Ceki Gülcü,也是log4j的开发者之一。

需要的库

  • slf4j-api.jar
  • logback-core.jar
  • logback-classic.jar

获取内部日志信息

我们可以通过StatusManager来访问发生在logback生命周期中的一些事件,可以通过StatusPrinter.print方法打印到控制台

// print internal state
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
StatusPrinter.print(lc);

可以看到logback查找配置文件和装载配置的过程。如果没有配置会打印配置文件缺失的信息

12:49:22.203 [main] DEBUG chapters.introduction.HelloWorld2 - Hello world.
12:49:22,076 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
12:49:22,078 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.xml]
12:49:22,093 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Setting up default configuration.

配置使用

  1. 引入依赖
  2. 配置logback.xml
  3. 在想要打日志的类中通过org.slf4j.LoggerFactory.getLogger()获取日志记录器
  4. 调用logger的debug(), info(), warn() ,error() 方法记录日志

依赖使用

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.26</version>
</dependency>
<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
    <version>1.2.3</version>
</dependency>

参考

Chapter 1: Introduction to logback

博客
分类
标签
归档
关于