课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > 不要忘了日志级别
  • 不要忘了日志级别

    发布:昆明Java培训      来源:crazyacking      时间:2016-07-29

  • 当程序员想要在日志中再加一行的时候,就会有一个疑问,到底该用哪种日志级别?可能你也不太注意这个问题,你可能一直用一个级别来记录日志,INFO或者DEBUG。

    现在要说的是日志框架和System.out相比较来说的两大优势:分类和级别。两者可以让你可以选择性的过滤日志,永久的或者只是在排查错误的时候。

    · ERROR 发生了严重的错误,必须马上处理。这种级别的错误是任何系统都无法容忍的。比如:空指针异常,数据库不可用,关键路径的用例无法继续执行。

    · WARN 还会继续执行后面的流程,但应该引起重视。其实在这里我希望有两种级别:一个是存在解决方案的明显的问题(比如,”当前数据不可用,使用缓存数据”),另一个是潜在的问题和建议(比如“程序运行在开 模式下”或者“管理控制台的密码不够安全”)。应用程序可以容忍这些信息,不过它们应该被检查及修复。

    · DEBUG 开发人员关注的事。后面我会讲到什么样的东西应该记录到这个级别。

    · TRACE 更为详尽的信息,只是开发阶段使用。在产品上线之后的一小段时间内你可能还需要关注下这些信息,不过这些日志记录只是临时性的,最终应该关掉。DEBUG和TRACE的区别很难区分,不过如果你加了一行日志,在开 发测试完后又删了它的话,这条日志就应该是TRACE级别的。

    上面的列表只是一个建议,你可以根据自己的规则来记录日志,但最好要有一定的规则。我个人的经验是:在代码层面不要进行日志过滤,而是用正确的日志级别能够快速的过滤出想要的信息,这样能节省你很多时间。

    最后要说的就是这个臭名昭著的is*Enabled的条件语句了。有的人喜欢把每次日志前加上这个:

    if(log.isDebugEnabled())

    log.debug("Place for your commercial");

    应该避免在代码里加入这个乱哄哄的东西。性能看起来没有什么提升(尤其是用了slf4j之后),更像是过早的优化。还有,没发现这么做有点多余么?很少有时候是明确需要这种显式的判断语句的,除非我们证明构造日志消息本 开销太大。不然的话,该怎么记就怎么记,让日志框架去操心这个吧。

    达内Java培训的小编在这里要提醒各位:当你在写日志的时候,一定不要忘了日志级别噢。

    推荐文章

上一篇:你清楚你在记录什么吗?

下一篇:其实很重要的Log

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56