免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5327 | 回复: 12

问个问题 关于log的写法 [已解决] [复制链接]

论坛徽章:
6
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:582015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-05-19 14:56 |显示全部楼层
本帖最后由 realmon 于 2010-05-24 10:25 编辑
  1. if(logger.isDebugEnabled()){
  2.     logger.debug("*****");
  3. }
复制代码
为什么要写这个if

论坛徽章:
0
发表于 2010-05-20 09:20 |显示全部楼层
用来控制什么情况下需要记录日志,如果没有设置debug标志的话,就不需要写日志。不过我觉得在debug()方法里判断也是一样的。看你的logger是怎么设计的了

论坛徽章:
6
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:582015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-05-20 16:34 |显示全部楼层
补充一下,我说的是apache的common logging
日志级别 比debug高的话,不写上面的if也不会输出log
所以搞不懂为什么要写 if(logger.isDebugEnabled())

论坛徽章:
0
发表于 2010-05-20 23:53 |显示全部楼层
是为了通用性,也许其它的机器会出现这样的问题

论坛徽章:
0
发表于 2010-05-22 15:17 |显示全部楼层
回复 4# 0vk0

对于像debug级别,线上的服务通常是关闭的,这使得debug函数会有开销。这个开销有两方面:
1、判断log级别,也就是isDebugEnabled函数,这个调用的开销很小的。
2、log的参数构造,很多情况下,log函数的参数是如"xxx"+"dd"+object.toString()这样的字符串拼接,这个开销还是有一些的。

所以,为了降低debug级别带来的开销问题,通常就是加了一层判断。如果debug日志很多,这个判断有时就显得重要了。

论坛徽章:
6
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:582015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2010-05-24 10:24 |显示全部楼层
回复 5# kafka0102


   原来如此,学习了!

论坛徽章:
0
发表于 2010-05-24 12:53 |显示全部楼层
五楼说的很有道里

论坛徽章:
4
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-02-10 17:22:57技术图书徽章
日期:2014-02-18 08:44:12技术图书徽章
日期:2014-04-29 14:15:42
发表于 2010-05-27 22:30 |显示全部楼层
{:3_182:}

论坛徽章:
0
发表于 2010-05-28 09:37 |显示全部楼层
回复 2# sakulagi


   樱木斑竹,驾临java版啦。{:3_187:}

论坛徽章:
0
发表于 2010-05-28 09:41 |显示全部楼层
回复 1# realmon


    简单的说,就是这段代码写错了,写代码的人水平菜。
    判断日志级别这种事应该是组件自己去做的,怎么可能放到应用代码里面?

    至于所谓的构造实参的代价,远小于你调用函数的代价。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2021中国系统架构师大会

【数字转型 架构重塑】
2022年1月13-15日,由IT168旗下ITPUB企业社区平台主办的第十四届中国系统架构师大会(SACC2021)将在云端进行网络直播。
为期3天的议程,涉及20+专场,近120个主题,完整迁移到线上进行网络直播对会议组织来说绝非易事;但考虑到云端会议的直播形式可以实现全国各地技术爱好者的参与,也使ITPUB作为技术共享交流平台得到更好的普及,我们决定迎难而上。

大会官网
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP