zoukankan      html  css  js  c++  java
  • java中的log

    slf4j

    slf4j的全称是:  Simple Logging Facade for Java (SLF4J)。

    slf4j的官方网站:http://www.slf4j.org

    简介

    SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。

    实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候,不需要在代码中或配置文件中指定你打算使用那个具体的日志系统。如同使用JDBC基本不用考虑具体数据库一样,SLF4J提供了统一的记录日志的接口,只要按照其提供的方法记录即可,最终日志的格式、记录级别、输出方式等通过具体日志系统的配置来实现,因此可以在应用中灵活切换日志系统。

    如果我们在开发一个公共类库,那么应该使用slf4j。因为别的应用使用我们的类库时,不能强制指定应该使用哪个日志系统。不能影响最终用户使用哪种日志系统。如果我们开发的是一个简单的独立的应用,比较确定使用哪种日志系统。这时候就没必要使用slf4j了。

    使用

    slf4j提供了一种对各种日志的抽象,允许我们在代码中只使用这种抽象的接口。具体的实现,是在运行时进行绑定的。

    要想使用slf4j,需要在项目中引用包:slf4j-api-1.7.7.jar.

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

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

    上面的helloworld中有2个接口:Logger和LoggerFactory。这2个接口是slf4j提供的一种抽象。

    如果运行上面的helloworld,控制台会输出:

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
    SLF4J: Defaulting to no-operation (NOP) logger implementation
    SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
    因为,我们还没有为slf4j绑定一种具体的日志实现。
    在项目中引用slf4j-simple-1.7.7.jar。再运行slf4j,可以看到有输出日志了。
     
     
    slf4j支持多种日志框架。
    slf4j-log4j12-1.7.7.jar
    slf4j-jdk14-1.7.7.jar
    slf4j-nop-1.7.7.jar
    slf4j-simple-1.7.7.jar
    slf4j-jcl-1.7.7.jar

     

    concrete-bindings

  • 相关阅读:
    正则表达式验证银行卡号
    正则表达式验证银行卡号
    正则表达式验证手机号
    正则表达式验证手机号
    好用的手机浏览器
    jmeter(三)跨线程组调用token
    jmeter(二)ant报告模板下载与使用
    1-5JSON数据解析
    1-3HTTP协议基础
    1-2接口测试概述
  • 原文地址:https://www.cnblogs.com/leiwei/p/3719318.html
Copyright © 2011-2022 走看看