slf4j的介绍

来源:互联网 发布:im源码 编辑:程序博客网 时间:2024/05/29 18:41

slf4j的介绍

slf4j全称是:simple logging facade for java,可以理解为简单日记门面。

准确的说,slf4j并不是一种具体的日志系统,而是一个用户日志系统的facade,它允许用户在部署最终应用时方便的变更其日志系统。

在系统开发中,统一按照slf4j的API进行开发,在部署时,选择不同的日志系统包,即可自动转换到不同的日志系统上。

比如:选择JDK自带的日志系统,则只需要将slf4j-api-1.5.10.jar和slf4j-jdk14-1.5.10.jar放置到classpath中即可,如果中途无法忍受JDK自带的日志系统了,想换成log4j的日志系统,仅需要用slf4j-log4j12-1.5.10.jar替换slf4j-jdk14-1.5.10.jar即可(当然也需要log4j的jar及配置文件)

我们在开发过程中可能使用各种log,每个Log有不同的风格、布局,如果想灵活的切换那么slf4j是比较好的选择.

slf4j最吸引我的地方是:占位符(place holder)的使用。占位符在代码中表示为“{}”的特性。占位符是一个非常类似于在String的format()方法中的%s,因为它会在运行时被某个提供的实际字符串所替换。这不仅降低了代码中字符串连接次数,而且还节省了新建的String对象。

下面是在Log4j中使用的方案,但这样做降低了代码可读性因为增加了不必要的繁琐重复代码(boiler-plate code):

if (logger.isDebugEnabled()) {    logger.debug("Processing trade with id: " + id + " symbol: " + symbol);}

但是如果你使用slf4j的话,你可以得到在极简洁的格式的结果,就像以下展示的一样:

logger.debug("Processing trade with id: {} and symbol : {} ", id, symbol);

附录:

log4j2单独的配置与使用&log4j2+slf4j的结合的配置与使用
http://blog.csdn.net/capmiachael/article/details/77096930

转自:
slf4j介绍
http://swiftlet.net/archives/704

原创粉丝点击