2008-05-02
slf4j的使用
最近看在infoq上面看到slf4j的介绍,就到slf4j的网站上看了看,发现还是不错的。
大部分开发人员最喜欢用的还是log4j,这个其中可能是因为jdk在1.5才用logs的pack。还有部分人使用commons-logger。
log4j不用说,比起jdk和common-logger还是有优势的。commons-logger我认为都不是鸡肋,完全没有使用的必要,要不你就使用log4j要不就直接使用jdk。
下面对slf4j和log4j做一下总结:
(1)大部分人在程序里面会去写logger.error(exception),其实这个时候log4j回去把这个exception tostring。真正的写法应该是logger(message.exception);而slf4j就不会使得程序员犯这个错误。
(2)log4j间接的在鼓励程序员使用string相加的写法,而slf4j就不会有这个问题
你可以使用logger.error("{} is+serviceid",serviceid);
(3)使用slf4j可以方便的使用其提供的各种集体的实现的jar。(类似commons-logger)
(4)从commons--logger和log4j merge非常方便,slf4j也提供了一个swing的tools来帮助大家完成这个merge。
大部分开发人员最喜欢用的还是log4j,这个其中可能是因为jdk在1.5才用logs的pack。还有部分人使用commons-logger。
log4j不用说,比起jdk和common-logger还是有优势的。commons-logger我认为都不是鸡肋,完全没有使用的必要,要不你就使用log4j要不就直接使用jdk。
下面对slf4j和log4j做一下总结:
(1)大部分人在程序里面会去写logger.error(exception),其实这个时候log4j回去把这个exception tostring。真正的写法应该是logger(message.exception);而slf4j就不会使得程序员犯这个错误。
(2)log4j间接的在鼓励程序员使用string相加的写法,而slf4j就不会有这个问题
你可以使用logger.error("{} is+serviceid",serviceid);
(3)使用slf4j可以方便的使用其提供的各种集体的实现的jar。(类似commons-logger)
(4)从commons--logger和log4j merge非常方便,slf4j也提供了一个swing的tools来帮助大家完成这个merge。
评论
yqp_001
2008-06-13
jdk的log从1.4开始的吧?
herenhuang
2008-05-03
继续跟帖
我的意思是
第1点:
try{
}catch(Exception e)
{
logger.error("",e);//正确的写法
logger.error(e);//错误的写法
}
如果使用slf4j就不会导致程序员出现这个错误。
第2点:
大部分是会这样去写的,不过这样写代码写多就就非常不好看了。使用slf4j就不必须去写
if(logger.isDebugEnabled()),这样代码就会好看的多。
我的意思是
第1点:
try{
}catch(Exception e)
{
logger.error("",e);//正确的写法
logger.error(e);//错误的写法
}
如果使用slf4j就不会导致程序员出现这个错误。
第2点:
大部分是会这样去写的,不过这样写代码写多就就非常不好看了。使用slf4j就不必须去写
if(logger.isDebugEnabled()),这样代码就会好看的多。
sg552
2008-05-03
回答你的前2个问题:
1。 输出log4j的error, 应该是: logger.error(e,e); 而不是 logger.error(e);
2。 如果你认为log4j的输出会占用资源,请使用条件判断。如:
if(logger.isDebugEnabled()){
logger.debug(" variable:" + variable);
}
实际上,每个INFO,DEBUG级的日志都应该这样写。
commons-logging 也有一样的特性。
1。 输出log4j的error, 应该是: logger.error(e,e); 而不是 logger.error(e);
2。 如果你认为log4j的输出会占用资源,请使用条件判断。如:
if(logger.isDebugEnabled()){
logger.debug(" variable:" + variable);
}
实际上,每个INFO,DEBUG级的日志都应该这样写。
commons-logging 也有一样的特性。
发表评论
- 浏览: 2669 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
安装和配置 Apache HTTP S ...
正在找这方面的资料,谢谢博主的分享
-- by ivonxiao -
jsp 乱码问题的解决
楼上的说得很好,呵呵 OO人就应该这样。
-- by bingtears -
jsp 乱码问题的解决
楼主应该将request.getParameter独立为utilClass出来, ...
-- by plmqaz098 -
slf4j的使用
jdk的log从1.4开始的吧?
-- by yqp_001 -
jsp 乱码问题的解决
这样会限制的比较死,即,所有以get方式提交的参数都必须是GBK编码的,如果碰到 ...
-- by weilaile






评论排行榜