简单的java日志记录(SLF4J)


官方文档
参考文档

介绍(Simple Logging Facade for Java)

SLF4J是用于日志记录系统的简单外观,允许最终用户在部署时插入所需的日志记录系统。
SLF4J是一个日志框架抽象层,底下绑定具体的日志框架,例如Log4J,Logback,Java Logging API等,被用作各种日志框架的简单外观或抽象《参考门面模式》,允许最终用户在部署时插入所需的日志记录框架。

示例

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

公共类HelloWorld {
  public static void main(String [] args){
    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
    logger.info(“Hello World”);
  }

使用

SLF4J只是一个外观,这意味着它不提供完整的日志记录解决方案。

使用SLF4J无法执行配置appender或设置日志记录级别等操作。因此,在某个时间点,任何非平凡的应用程序都需要直接调用底层日志记录系统。换句话说,独立应用程序无法完全独立于API底层日志记录系统。然而,SLF4J减少了这种依赖对近乎无痛水平的影响。
假设您的CRM应用程序使用log4j进行日志记录。但是,您的一个重要客户端要求通过JDK 1.4日志记录执行日志记录。如果您的应用程序充斥着成千上万的直接log4j调用,那么迁移到JDK 1.4将是一个相对冗长且容易出错的过程。更糟糕的是,您可能需要维护两个版本的CRM软件。如果您一直在调用SLF4J API而不是log4j,则可以在几分钟内通过将一个jar文件替换为另一个jar文件来完成迁移。

使用默认实现的日志框架

1)项目pom.xml的配置片段

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.12</version>
</dependency>

2)java代码片段

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
public class Main {
    public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(Main.class);
        logger.error("Hello World");
        System.out.println(logger.getClass());
    }
}

当绑定的具体日志框架是默认实现,即是"SLF4J+NOP"方案,logger指向的是"org.slf4j.helpers.NOPLogger"类的实例,该类中的日志操作方法不做任何动作(即NOP)

使用slf4j-simple日志框架

1)项目pom.xml的配置片段

<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.12</version>
</dependency>
<dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.12</version>
</dependency>

2)java代码

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
 
public class Main {
    public static void main(String[] args) {
        Logger logger = LoggerFactory.getLogger(Main.class);
        logger.error("Hello World");
        System.out.println(logger.getClass());
    }
}

当绑定的具体日志框架是简单实现,即"SLF4J+Simple"方案,logger指向的是"org.slf4j.impl.SimpleLogger"类的实例,该类中的日志操作方法能够完成简单的正常的日志操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值