java的log类_java中的log

slf4j

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

简介

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

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

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

使用

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

要想使用slf4j,需要在项目中引用包:slf4j-api-1.7.7.jar.importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;publicclassHelloWorld{publicstaticvoidmain(String[]args){Loggerlogger=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

276693aaa5691f951309c94fa169a8f4.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值