比较Log4j和记录仪(Compare log4j and Logger)

2019-08-03 15:49发布

如何JDK的记录器比较Apache的log4j的 ?

哪一个是用于定位Java 6的新项目好? 他们如何在灵活性和可配置性方面比较?

Answer 1:

使我想起了JDK记录仪已去为它的唯一的事情是,它是JDK的一部分,所以它不添加外部依赖。 如果选择的是只有这两个之间,我会用Log4j的去。 它仍然在追加程序方面提供更好的支持,是谁知道它(在我的轶事观察)的人数,和更好的API(这是主观的为好)。

从今天开始的一个项目,是最具诱惑力的事情是去SLF4J和deffer的决定 - 你可以在下面SLF4J不同的框架,只是改变了类路径总是堵塞。

话虽这么说,是利用最新的Java语言功能的其他选项(如Log5j)。 我建议采取长期看的logback (从Log4j的主要程序员之一,是SLF4J)。



Answer 2:

我从来没有使用直接JDK记录器,但对于一个新的项目,我会强烈reccomend 的logback ,设计为log4j的继任者。 一些非常好的东西,你可以用它来做:

  • printf类型参数的建筑,如果由logger.isDebugEnabled()警卫保护没有更多的凌乱的连接字符串。

从...来

if (log.isDebugEnabled())
 { 
    log.warn (i + "many ints,"+ l+"many longs");
}

log.debug("{} many ints, {} many longs", i, l);
  • 非常灵活的配置,包括配置,将打印的痕迹。 该配置是XML,但他们的网站包括一个实用工具,将产生从你的log4j的配置XML配置让你开始。

缺点 - 大量的包需要反正的log4j,因为它是如此普遍,所以你的项目可能需要包括2个日志包。



Answer 3:

对于一个新的项目,我会强烈建议SLF4J项目,提供通用前端的几个记录框架。

该{} -syntax由史蒂夫·B中所描述存在于SLF4J太(同一作者),所以你得到的所有好处,无论后台的,而仍然得到后端独立性。 另外一个log4j的桥梁可用,因此现有的代码透明可以使用SLF4J。 这是非常好的。

对于实际的后端的logback是好的,但你可能已经投资了log4j的 - 这是很容易leveragable。



Answer 4:

我会建议JDK日志记录API 。 我已经用了很多年了,不用任何问题。 这是JDK的一部分,所以不需要额外的罐子。 Log4j和JDK日志之间的区别很小,而且,在我看来,并不能证明使用Log4j。



Answer 5:

标准API和log4j的

Java开发人员经常问的一个问题是:

为什么我们应该使用log4j的日志框架时,Java提供了日志记录的API。 Java API的可以通过(java.util.logging中)访问?

Log4j中有超过标准的记录API以下优点:

  • log4j的提供强大的日志记录
  • log4j的比标准日志API提供更多功能
  • 配置和使用log4j的更容易
  • log4j的也有一个更强大的排版系统
  • 许多附加程序和处理程序可用于log4j的


Answer 6:

我挣扎着这个问题几次; 与JDK7和jdk8; Java日志超快速,光滑,但我们唯一需要把程序员的帽子,同时配置。

要登录到多个文件destiantions,我们neeed创建扩展FielHandler signare类,并利用它们在属性文件来配置,这种复杂性似乎费时,但一旦你挂机的效率和可靠性是真棒。



文章来源: Compare log4j and Logger