我被告知使用log4j作为我的日志项目,但在使用log4j之前,我想知道它的缺点是什么,这样我就可以找到一些解决方案来消除这些缺点。
答案 0 :(得分:5)
如果我今天要开始一个新项目,我会使用SLF4J进行日志记录。这是一个简单的API,位于您的程序和您使用的日志库之间。您的程序将使用SLF4J API,它将调用传递给您插入的实际日志库。您可以使用不同的日志库与SLF4J(例如Log4J或java.util日志记录),并且您可以切换到不同的日志记录库没有改变任何你自己的源代码。
SLF4J API的“原生”实现称为Logback。去年我参与了一个项目,我们决定在项目的最后阶段从Log4J切换到Logback,因为Log4J锁定了日志文件而Logback没有(这意味着在Windows上,当Log4J打开它时,你无法删除日志文件; Logback没有那个问题。)
答案 1 :(得分:0)
我建议在以下帖子中阅读关于log4j vs JUL的内容 - http://java.sys-con.com/node/48541。它提供了关于何时需要log4j以及它提供什么好处的全面讨论。
我假设您了解日志记录的优势。正如斯卡弗曼指出的那样,为了比较苹果和橘子 - 你需要了解你的橘子