项目中引入slf4j(基于log4j)

什么是slf4j

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

为什么使用slf4j

         上面已经介绍了slf4j,那么至于为什么使用它。Slf4j可以看成是接口,那么既然是接口,实现在哪里呢?实现就是基于你自己的系统需要引入什么日志。我这里使用了log4j作为slf4j的实现。那么就可以通过slf4j来输出日志。

slf4j的解耦

         试想一下,如果你使用了第三方的类库,那么比如别人使用了java.util.logging.Logger这个类库系统,那么你的项目使用的是log4j日志系统,你是不是要重新引入2种日志系统呢?那现在就有人为了解决这个问题,就提供了slf4j这个日志接口类库。你只要使用slf4j就可以了,至于你系统使用什么类库作为我的实现,我不管。那么这样问题就解决了,这也符合java的面向对象编程。

如何引入slf4j

Maven

//slf4j包
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.8.0-beta2</version>
</dependency>
//slf4j和log4j日志交换包
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.8.0-beta2</version>
</dependency>
//log4j包
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
    <type>zip</type>
</dependency>

Log4j配置文件

log4j.rootLogger=DEBUG,stdout

log4j.logger.com.mchange.v2 = INFO

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n

使用

//获取logger日志工具
private static final Logger LOG = LoggerFactory.getLogger(Server.class);
//logger提供了使用{}作为占位符,这样避免我们字符串的拼接
//除了info还可以选择debug, error, trace, warn等类型
LOG.info("这是一个测试的输出,{},{}", "第一个占位符", "第二个占位符");
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读