`
cywhoyi
  • 浏览: 421074 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Using slf4j with logback

 
阅读更多

slf4j是一款非常不错的关于log的开源框架,logback是依托于log4j的api,但是它提供了更多的属性,不管是在性能、内存损耗上,都有显著提高,并且它能够提供自动加载、过滤以及其它的属性特征。

第一步,建立pom.xml

<properties>
 <slf4j.version>1.6.4</slf4j.version>
 <logback.version>1.0.1</logback.version>
</properties>

<dependencies>

 <dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-api</artifactId>
  <version>${slf4j.version}</version>
 </dependency>

 <dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-classic</artifactId>
  <version>${logback.version}</version>
 </dependency>

 <dependency>
  <groupId>ch.qos.logback</groupId>
  <artifactId>logback-core</artifactId>
  <version>${logback.version}</version>
 </dependency>

</dependencies>

 第二步,创建配置文件,Logback支持两种方式,传统方式是xml以及Groovy DSL style,命名指定为logback.xml放到classpath

<?xml version="1.0" encoding="UTF-8"?>

<configuration>

  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <!-- encoders are assigned the type
         ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
    <encoder>
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
    </encoder>
  </appender>

  <logger name="com.lordofthejars.foo" level="INFO" additivity="false">
   <appender-ref ref="STDOUT" />
  </logger>

  <!-- Strictly speaking, the level attribute is not necessary since -->
  <!-- the level of the root level is set to DEBUG by default.       -->
  <root level="DEBUG">          
    <appender-ref ref="STDOUT" />
  </root>  
  
</configuration>

 通过上述的配置文件,一目了然能够看明白,它的日志级别,以及需要追加的日志的目录,如果在根目录中已经打印log,而子目录也被授予print,那么可以通过追加属性这是false,它只会打印一次。

第三步:建立一个类,介绍下如何使用

public class BarComponent {

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

 public void bar() {

  String name = "lordofthejars";

  logger.info("Hello from Bar.");


  logger.debug("In bar my name is {}.", name);

 }

}

 它会根据{}这一对,用name参数进行替代,是不是比较好用,好像有点C的语法。

如果你对于groovy属性,同样也可以采用DSL Style方式

<dependency>
 <groupId>org.codehaus.groovy</groupId>
 <artifactId>groovy</artifactId>
 <version>${groovy.version}</version>
 <scope>runtime</scope>
</dependency>

 类同于刚才的logback.xml的语法

import ch.qos.logback.classic.encoder.PatternLayoutEncoder
import ch.qos.logback.core.ConsoleAppender

import static ch.qos.logback.classic.Level.DEBUG
import static ch.qos.logback.classic.Level.INFO

appender("STDOUT", ConsoleAppender) {
  encoder(PatternLayoutEncoder) {
    pattern = "%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} Groovy - %msg%n"
  }
}

logger("com.lordofthejars.foo", INFO)
root(DEBUG, ["STDOUT"])

 结论:

logback比logg4j好用,性能指标也比较高,值得推荐的一款日志的框架。

分享到:
评论

相关推荐

    调试日志之slf4j+logback

    本文将深入探讨“调试日志之slf4j+logback”的主题,这两个组件是Java开发中的常见日志解决方案。 SLF4J(Simple Logging Facade for Java)是一个日志门面,它为各种日志框架提供了统一的接口,如Log4j、Logback等...

    Tomcat + SLF4J + Logback 2017年10月最新包(Tomcat7~9)

    https://github.com/tomcat-slf4j-logback/tomcat-slf4j-logback上的jar与源码,网络不好,下载不易,特此分享。包括: logback-1.2.3.zip Tomcat7.0.82\tomcat-juli-7.0.82-slf4j-1.7.25-logback-1.2.3.zip Tomcat...

    日志 log4j-slf4j+logback1.3.0

    本文将深入探讨“日志4j(Log4j)、SLF4J(Simple Logging Facade for Java)和logback 1.3.0”这三者之间的关系以及它们在Java应用中的作用。 首先,Log4j是Apache软件基金会开发的一个流行的日志记录框架,它允许...

    slf4j,logback.xml

    slf4j,logback.xml

    slf4j+logback的jar和配置文件

    这些JAR文件通常包括SLF4J API(如`slf4j-api-*.jar`)、Logback核心库(如`logback-core-*.jar`)、Logback经典库(如`logback-classic-*.jar`)以及任何其他依赖,例如Jansi(用于控制台颜色)或JUL到SLF4J适配器...

    slf4j+logback

    SLF4J(Simple Logging Facade for Java)和Logback是Java日志处理中的两个重要组件,它们在软件开发中广泛用于记录应用程序的运行时信息。SLF4J是一个日志门面,它提供了一个统一的接口,允许开发人员在运行时插入...

    slf4j+logback日志系统介绍

    ### SLF4J与Logback:新一代日志系统的解析 #### 一、SLF4J:简化日志处理的新标准 SLF4J(Simple Logging Facade for Java)作为一个新兴的日志框架,由Ceki Gülcü开发,旨在提供一个简单而统一的日志接口,以...

    Slf4j+logback实现logback测试

    **Slf4j与Logback简介** Slf4j(Simple Logging Facade for Java)是一个日志门面,它提供了一个统一的API,允许开发者选择合适的日志框架,如Logback、Log4j等,而无需修改代码。Slf4j的主要目标是为各种日志框架...

    slf4j + logback配置实例

    通常,这包括`slf4j-api.jar`(SLF4J API)、`logback-classic.jar`(Logback经典实现,包含了SLF4J的适配器)和`logback-core.jar`(Logback核心库)。这些依赖可以通过Maven或Gradle等构建工具来管理。 接下来,...

    slf4j+logback使用

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

    tomcat9-slf4j-logback:Tomcat 9.0.x的SLF4J和Logback集成

    Tomcat SLF4J Logback是tomcat的替代产品,它允许所有内部日志记录全部使用我们喜欢的slf4j / logback库。 注意 从logback 1.1.7开始,不再需要在server.xml中包含${catalina.home}来进行logback访问。 我们还重新...

    slf4j+logback快速上手教程

    ### SLF4J + Logback 快速上手教程 #### 一、SLF4J 简介 **SLF4J**(Simple Logging Facade for Java)是一种简单且高效的日志门面库,旨在为Java平台上的各种日志框架提供统一的API,从而简化日志记录的过程。通过...

    ssm +shiro+slf4j+logback 学习记录

    SSM(Spring、SpringMVC、MyBatis)与Apache Shiro、SLF4J以及Logback是Java Web开发中的重要框架和工具,它们在构建安全、高效且可维护的Web应用方面起着关键作用。这里我们将深入探讨这些技术的核心概念、功能以及...

    采用slf4j+logback输出日志

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

    slf4j+logback 于log4j+commons-logging大PK

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

    slf4j+logback 日志系统使用

    SLF4J(Simple Logging Facade for Java)和Logback是Java开发中广泛使用的日志处理框架。SLF4J提供了一个抽象层,允许开发者在运行时选择合适的日志实现,而Logback则是SLF4J的一个具体实现,它以其高效、灵活和...

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

    Logback 是 SLF4J 推荐的日志实现,它由 log4j 的创始人设计,提供了高速、灵活且可靠的日志记录功能。 使用 SLF4J 和 Logback 进行日志记录配置的主要目的是: 1. 为 Spring 的开发提供了一个更快速更广泛的入门...

    slf4j+logback+springmvc+maven小例子

    SLF4J允许开发者在部署时插入所需的日志实现,比如logback、log4j等,这使得项目的可移植性和灵活性大大增强。 Logback是另一个关键组件,它是由log4j的创始人Ceki Gülcü创建的。Logback是目前广泛使用的日志框架...

    SLF4J&Logback.zip

    On Java 8 中用到的日志包,SLF4J+Logback。

Global site tag (gtag.js) - Google Analytics