Openfire Project使用SLF4J日志工具


之前做项目的时候用到的是Log4j,当然也从来就没有考虑过不同的用户可能对于日志输出系统的要求还不一样,假如项目是产品类型的,A用户要求使用Log4j,卖给B用户的时候B用户要求使用jdk log,如果没有引入SLF4J,那么修改日志输出代码也是个足够麻烦的事情。说到这里,有些人可能已经猜到SLF4J是这个什么工具。

SLF4J的全称是Simple Logging Facade for Java。SLF4J是其他Log框架的(log4j, java.util.logging, Simple logging and NOP)抽象,提供统一的API,使最终用户能够在部署的时候配置所希望的Log实现。

要使用SLF4J替换Log4j也很简单,使用log4j-over-slf4j.jar替换Log4j.jar然后修改获得Log对象实例的代码:
private static final org.slf4j.Logger Log = org.slf4j.LoggerFactory.getLogger(ClassName.class);

SLF4J支持参数化的log字符串,组装消息被推迟到了它能够确定是不是要显示这条消息的时候,避免了之前为了减少字符串拼接的性能损耗而不得不写的if(logger.isDebugEnable()),现在可以直接写:logger.debug(“Temperature set to {}. Old temperature was {}.”, t, oldT);同时,日志中的参数若超过三个,则需要将参数以数组的形式传入。

SLF4J主页地址:http://www.slf4j.org/

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s