昆明java培训
达内昆明广州春城路

18487146383

热门课程

其实很重要的Log

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

在程序开发的过程中,一些程序员可能会忘了记录应用程序的重要性。但是当他们碰到多线程环境下,高压力导致的并发bug时,就能体会到记录log这件事有多么的重要。

有的人很高兴的就在代码里加上了这么句:

log.info("Happy and carefree logging");

他可能都没有意识到应用程序的日志在维护,调优和故障识别中的重要性。

很多人觉得slf4j是最好的日志API,最主要是因为它支持一个很棒的模式注入的方式:

log.debug("Found {} records matching filter: '{}'", records,filter);

log4j的话你只能这样:

log.debug("Found " + records +" recordsmatching filter: '" +filter +"'");

这样写不仅更啰嗦和可读性差,而且字符串拼接影响效率(当这个级别并不需要输出的时候)。slf4j引入了{}注入特性,并且由于避免了每次都进行字符串拼接,toString方法不会被调用,也不再需要加上isDebugEnabled了。

slf4j是外观模式的一种应用,它只是一个门面。具体实现的话我推荐logback框架,之前已经做过一次广告了,而不是已经很完备的log4j。它有许多很有意思的特性,和log4j不同的是,它还在积极的开发完善中。

还有一个要推荐的工具是perf4j:

Perf4J is to System.currentTimeMillis() as log4j is to System.out.println()

就好比log4j是System.out.println的一种更好的替换方式一样,perf4j更像是System.currentTimeMillis()的替代。

当你学会这些,并且能够在项目开发中灵活应用,那么你的项目成果会很不一样。亲爱的小伙伴们,你们学会了吗?

上一篇:不要忘了日志级别
下一篇:开源史上十大标志事件

昆明达内培训教你如何学习分布式系统

关于java字符串方面的问题

昆明达内java培训对五种常用语言进行介绍

四十岁还在写代码应该怎么做?

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货