`
MauerSu
  • 浏览: 514628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

SLF4J和Logback日志框架详解

 
阅读更多
源:http://blog.csdn.net/chszs/article/details/8653460
评:
SLF4J和Logback日志框架详解

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

本文讲述SLF4J和Logback日志框架。
 
SLF4J是一套简单的日志外观模式的Java API,帮助在项目部署时对接各种日志实现。

LogBack在运行时使用JMX帮助修改日志配置,在生产状态下无需重启应用程序。
SLF4J
SLF4J是简单的日志外观模式框架,抽象了各种日志框架例如Logback、Log4j、Commons-logging和JDK自带的logging实现接口。它使得用户可以在部署时使用自己想要的日志框架。SLF4J是轻量级的,在性能方面几乎是零消耗的。

SLF4J没有替代任何日志框架,它仅仅是标准日志框架的外观模式。如果在类路径下除了SLF4J再没有任何日志框架,那么默认状态是在控制台输出日志。
Logback
Logback是Log4j的改进版本,而且原生支持SLF4J(因为是同一作者开发的),因此从其它日志框架如Log4j或JDK的logging迁移到Logback是完全可行的。

由于Logback原生支持SLF4J,因此Logback+SLF4J的组合是日志框架的最佳选择,比SLF4J+其它日志框架的组合要快一些。而且Logback的配置可以是XML或Groovy代码。

注意一个重要的特性,Logback通过JMX修改日志配置(比如日志级别从Debug调整到INFO),可以从JMX控制台直接操作,无需重启应用程序。

此外,Logback的异常堆栈跟踪的信息,有助于调试。
[java] view plaincopyprint?

    java.lang.NullPointerException: null 
    at com.fimt.poc.LoggingSample.<init>(LoggingSample.java:16) [classes/:na] 
    at com.fimt.poc.LoggingSample.main(LoggingSample.java:23) [fimt-logging-poc-1.0.jar/:1.0] 


SLF4J API用法
1. 从org.slf4j包导入Logger和LoggerFactory
[java] view plaincopyprint?

    import org.slf4j.Logger; 
    import org.slf4j.LoggerFactory; 


2. 声明日志类
[java] view plaincopyprint?

    private final Logger logger = LoggerFactory.getLogger(LoggingSample.class); 


3. 使用debug、warn、info、error方法并跟踪适合的参数。

所有的方法默认都使用字符串作为输入。
[java] view plaincopyprint?

    logger.info("This is sample info statement"); 


SLF4J结合Logback
在pom.xml包含下面的依赖:它会自动包含所有的依赖包logback-core、slf4j-api……
[html] view plaincopyprint?

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


SLF4J能用于现有的日志框架如Log4j、Commons-logging、java.util.logging(JUL)。
SLF4J结合Log4j
在pom.xml包含下面的依赖
[html] view plaincopyprint?

    <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
      <version>1.7.2</version> 
    </dependency> 


SLF4J结合JUL (java.util.logging)

在pom.xml包含下面的依赖

[html] view plaincopyprint?

    <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-jdk14</artifactId> 
      <version>1.7.2</version> 
    </dependency> 
分享到:
评论

相关推荐

    详解Spring Boot 使用slf4j+logback记录日志配置

    使用 SLF4J 和 Logback 进行日志记录配置的主要目的是: 1. 为 Spring 的开发提供了一个更快速更广泛的入门方法。 2. 使用默认方式实现快速开发。 3. 提供项目所需的一些非功能特性,如嵌入式服务器、安全、心跳...

    slf4j日志框架的源代码分享

    SLF4J(Simple Logging Facade for Java)是Java中的一种日志门面(Logging Facade),它为各种日志框架提供了一个简单的统一接口,如Log4j、Java Util Logging、Logback等。通过SLF4J,开发者可以在运行时绑定任意...

    Slf4j日志相关jar包

    **Slf4j日志框架详解** Slf4j(Simple Logging Facade for Java)是一个用于日志系统的简单 facade,它允许最终用户在部署他们的应用时使用他们希望的日志库。Slf4j提供了一个统一的API,使得开发人员能够在不更换...

    详解slf4j+logback在java工程中的配置

    SLF4J(Simple Logging Facade for Java)和Logback是Java开发中广泛使用的日志框架,它们提供了灵活的日志记录解决方案。SLF4J是一个接口层,它为各种日志框架提供了统一的抽象,而Logback是SLF4J的一个实现,用于...

    logback + slf4j web项目源码

    2. **SLF4J (Simple Logging Facade for Java)**: SLF4J 提供了一组API,使得开发人员能够插入他们所选择的日志框架,例如Logback、log4j等。它是一个抽象层,允许用户在部署时选择合适的日志实现,通过简单的API...

    SLF4J配置应用

    2. **Logback**:Logback是Log4j的创始人Ceki Gülcü的新一代日志框架,分为`logback-core`、`logback-classic`和`logback-access`三个模块。其中`logback-classic`模块是对Log4j的一种改进,同时它也完全实现了SLF...

    logbackーslf4j-配置文件实例 难得

    在Java开发中,日志管理是不可或缺的一部分,Logback和SLF4J(Simple Logging Facade for Java)是广泛使用的日志框架。SLF4J提供了一个接口层,允许开发者选择任何底层的日志实现,而Logback则是一个高效的日志实现...

    日志框架log4j和slf4j入门教程(私塾在线)视频配套学习资料

    ### 日志框架log4j和slf4j入门教程知识点详解 #### 一、Log4j简介 **Log4j** 是Apache组织下的一个开源项目,主要用于Java应用程序的日志记录功能。通过Log4j,开发者可以灵活地控制日志信息的输出格式、输出目的...

    slf4j使用手册

    SLF4J(Simple Logging Facade for Java)是一个用于多种日志框架的简化接口或抽象层,旨在将日志的创建者与具体的日志实现进行解耦。通过这种方式,开发人员可以在开发阶段使用自己熟悉的日志实现,在生产或测试...

    slf4j+log4j2配置使用

    接下来,将详细介绍SLF4J和Log4j2的配置使用。 ### SLF4J与Log4j2的配合使用 在Spring Boot项目中,可以使用SLF4J作为日志门面,通过Log4j2实现日志记录。首先需要在项目中排除Spring Boot默认的日志实现(即...

    logback-1.2.3&slf4j-1.7.25.rar

    《Java日志框架Logback与SLF4J详解》 在Java开发中,日志记录是不可或缺的一部分,它能够帮助开发者追踪程序运行状态,定位问题,优化性能。Logback和SLF4J(Simple Logging Facade for Java)是Java世界中广泛使用...

    slf4j-nop-1.7.3.jar

    - **接口层**:SLF4J提供了与具体日志框架无关的API,使得开发人员可以在不改变代码的情况下切换不同的日志实现,如Log4j、Java Util Logging、Logback等。 - **绑定**:在项目运行时,需要选择一个具体的日志实现...

    logback jar包和logback.xml配置文件打包下载 小白新手学Java

    在Java开发中,日志记录是一项至关重要的任务,它帮助开发者追踪程序运行状态,调试问题,以及记录系统事件...同时,由于SLF4J的接口特性,使得在项目中切换其他日志框架变得非常方便,提高了项目的可维护性和扩展性。

    详解log4j-over-slf4j与slf4j-log4j12共存stack overflow异常分析

    SLF4J可以与不同的日志框架集成,例如Log4j、Logback等。SLF4J的桥接器可以将SLF4J的日志请求转换为不同的日志框架的日志请求,从而使得SLF4J可以与不同的日志框架集成。 在实际应用中,我们可以使用SLF4J作为日志...

    如何将应用的log4j替换成logback详解

    4. SLF4J集成:Logback是SLF4J(Simple Logging Facade for Java)的默认实现,允许使用相同的API与不同的日志框架进行切换。 要将Log4j替换为Logback,主要涉及以下步骤: 1. 移除Log4j相关依赖:从项目的`pom....

    logback日志配置

    Logback 是一款非常流行的 Java 日志框架,它由 Ceki Gülcü 开发并维护,作为 log4j 的一个优秀替代品出现。Logback 相对于 log4j 有着更好的性能表现,并且拥有更加灵活的配置方式。在实际开发过程中,logback 因...

    hibernate3.3.1接口实现包 slf4j-log4j12-1.5.2

    SLF4J(Simple Logging Facade for Java)是一个为各种日志框架提供一个简单统一的API,例如Log4j、Java Util Logging、Logback等。它的目标是允许最终用户在部署时插入所需的日志框架。SLF4J-Log4j12-1.5.2是SLF4J...

    Spring Boot中slf4j日志依赖关系示例详解

    Spring Boot默认集成了SLF4J和Logback作为其日志系统。 首先,让我们了解Spring Boot与SLF4J的依赖关系。Spring Boot本身并不直接依赖于特定的日志实现,而是依赖于SLF4J API。这是因为SLF4J提供了一个接口,允许...

    java日志框架

    Java日志框架是Java开发中不可或缺的部分,它们用于记录应用...综上所述,Log4j和Logback都是强大的日志框架,它们在Java开发中扮演着重要角色。理解并熟练使用这些框架,可以帮助我们更好地监控和维护我们的应用程序。

    log4j所需jar包

    - **灵活性**: SLF4J支持多种日志框架,包括Log4j、Logback等,可以根据项目需求选择最适合的日志实现。 总结来说,"apache-log4j-1.2.16.zip"是一个包含Log4j核心库的压缩包,配合"slf4j-log4j12-1.7.2.jar"适配器...

Global site tag (gtag.js) - Google Analytics