`

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的异常堆栈跟踪的信息,有助于调试。

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

 

SLF4J API用法

1. 从org.slf4j包导入Logger和LoggerFactory

  1. import org.slf4j.Logger;  
  2. import org.slf4j.LoggerFactory;  

 

2. 声明日志类

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

 

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

所有的方法默认都使用字符串作为输入。

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

 

SLF4J结合Logback

在pom.xml包含下面的依赖:它会自动包含所有的依赖包logback-core、slf4j-api……

  1. <dependency>  
  2.   <groupId>ch.qos.logback</groupId>  
  3.   <artifactId>logback-classic</artifactId>  
  4.   <version>1.0.7</version>  
  5. </dependency>  


SLF4J能用于现有的日志框架如Log4j、Commons-logging、java.util.logging(JUL)。

SLF4J结合Log4j

在pom.xml包含下面的依赖

  1. <dependency>  
  2.   <groupId>org.slf4j</groupId>  
  3.   <artifactId>slf4j-log4j12</artifactId>  
  4.   <version>1.7.2</version>  
  5. </dependency>  

 

SLF4J结合JUL (java.util.logging)

在pom.xml包含下面的依赖

 

  1. <dependency>  
  2.   <groupId>org.slf4j</groupId>  
  3.   <artifactId>slf4j-jdk14</artifactId>  
  4.   <version>1.7.2</version>  
  5. </dependency>  



分享到:
评论

相关推荐

    调试日志之slf4j+logback

    SLF4J(Simple Logging Facade for Java)是一个日志门面,它为各种日志框架提供了统一的接口,如Log4j、Logback等。它的主要目的是让开发者能够在部署时自由选择所需的日志实现,而无需修改代码。SLF4J通过引入`...

    日志 log4j-slf4j+logback1.3.0

    Logback则是由Log4j的创始人Ceki Gülcü开发的一个更现代、更高效的日志框架,它被设计为Log4j的替代品。Logback的目标是在性能和灵活性上超越Log4j,同时保持了类似的API。Logback分为两个主要组件:ch.qos....

    slf4j+logback日志系统介绍

    SLF4J(Simple Logging Facade for Java)作为一个新兴的日志框架,由Ceki Gülcü开发,旨在提供一个简单而统一的日志接口,以替代commons-logging。其主要目标是降低应用对具体日志实现库的依赖,并允许用户在部署...

    slf4j+logback 日志系统使用

    通过上述内容,我们可以了解到SLF4J和Logback日志系统的使用方法以及其主要特点。对于开发人员来说,理解并熟练使用这套日志系统,能够帮助提升代码的可读性,方便调试和问题排查,同时也能提高项目的维护性。

    采用slf4j+logback输出日志

    Logback是SLF4J的一个实现,由著名日志框架Log4j的创始人Ceki Gülcü所创建。Logback被认为是比Log4j更高效、功能更强大的日志处理框架。 本文将详细介绍如何使用SLF4J与Logback来输出应用程序的日志,并提供必要...

    slf4j+logback的jar和配置文件

    在使用SLF4J和Logback时,你需要引入相应的JAR文件。这些JAR文件通常包括SLF4J API(如`slf4j-api-*.jar`)、Logback核心库(如`logback-core-*.jar`)、Logback经典库(如`logback-classic-*.jar`)以及任何其他...

    Using slf4j with logback

    为了将Logback与SLF4J关联起来,我们需要在项目中添加SLF4J和Logback的依赖。在Maven项目中,可以在`pom.xml`文件中加入以下依赖: ```xml &lt;groupId&gt;org.slf4j &lt;artifactId&gt;slf4j-api &lt;version&gt;1.7.x ...

    slf4j+logback

    这些源码可以帮助开发者深入理解SLF4J和Logback的工作原理,同时也便于调试和定制。 在实际应用中,使用SLF4J+Logback可以实现灵活的日志管理。例如,可以通过以下步骤配置Logback: 1. 创建`logback.xml`配置文件...

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

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

    Slf4j+logback实现logback测试

    1. **引入依赖**: 在项目中,首先需要添加Slf4j和Logback的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.slf4j &lt;artifactId&gt;slf4j-api &lt;version&gt;1.7.x &lt;groupId&gt;ch....

    slf4j+logback 于log4j+commons-logging大PK

    今天我们将聚焦两个流行的日志框架——SLF4J(Simple Logging Facade for Java)和Logback,以及它们与Log4j和Commons-Logging的对比。 SLF4J是一个接口层的日志框架,它提供一个统一的API,允许用户在运行时插入...

    slf4j+logback快速上手教程

    ### SLF4J + Logback 快速上手教程 #### 一、SLF4J 简介 **SLF4J**(Simple Logging Facade for Java)是一种简单...通过上述步骤,你可以快速地将SLF4J和Logback集成到你的Java应用程序中,实现高效、灵活的日志管理。

    slf4j+logback使用

    SLF4J(Simple Logging Facade for Java)是Java日志框架的一个抽象层,它提供了一个统一的API,允许开发者选择任何支持的底层日志库,如Logback、Log4j或Java内置的日志系统。Logback是陈雪峰创建的,作为Log4j的...

    slf4j + logback配置实例

    首先,我们需要在项目的类路径下添加SLF4J和Logback的相关依赖。通常,这包括`slf4j-api.jar`(SLF4J API)、`logback-classic.jar`(Logback经典实现,包含了SLF4J的适配器)和`logback-core.jar`(Logback核心库)...

    ssm +shiro+slf4j+logback 学习记录

    最后,通过SLF4J和Logback记录应用运行过程中的各类信息,便于调试和监控。 **Ajax(异步JavaScript和XML)** Ajax是一种在不刷新整个页面的情况下更新部分网页的技术。在SSM和Shiro的环境中,Ajax常用于实现无刷新...

    slf4j+logback+springmvc+maven小例子

    SLF4J(Simple Logging Facade for Java)是Java日志记录的一个接口层,它提供了一种标准的方式来引入日志框架,而无需在代码中硬编码具体的日志实现。SLF4J允许开发者在部署时插入所需的日志实现,比如logback、log...

    Logback+Slf4j,基于SpringBoot实现日志脱敏.zip

    总之,通过SpringBoot、Slf4j和Logback的结合,我们可以轻松地实现日志的敏感信息脱敏,提升系统的安全性。同时,这个例子也为毕业设计提供了实用的参考,让学生了解如何在实际项目中处理敏感数据,增强对隐私保护的...

    tomcat-slf4j-logback-parent:Tomcat,SLF4J和Logback集成父级

    将Tomcat、SLF4J和Logback集成的主要目的是提供统一的日志管理接口,使得开发者可以独立于具体日志实现进行编程,同时可以根据应用需求选择最适合的日志框架。这种集成使得日志记录更为标准化,便于维护和分析。 5...

    springMvc+mybaties+slf4j

    【SLF4J(Simple Logging Facade for Java)】是一个日志门面,为各种日志框架如log4j、Logback提供一个统一的接口。SLF4J允许开发者在部署时选择合适的日志实现,只需更换绑定的日志实现库即可。这使得项目具有更好...

    Spring Boot SLF4J日志实例 / Logback

    **Spring Boot SLF4J与Logback日志实践** 在Java开发中,日志系统扮演着至关重要的角色,它能够帮助我们追踪程序运行时的问题、分析性能瓶颈以及调试代码。Spring Boot作为现代化的Java开发框架,已经为我们预设了...

Global site tag (gtag.js) - Google Analytics