记录使用SL4J,雅加达下议院的日志记录,log4j第三方图书馆和我自己的代码

StackOverflow https://stackoverflow.com/questions/462566

我有一些问题,有关记录,更具体地说关于设置起来,并确保它的工作原理。

该项目的我在做将使用 检票, 弹簧休眠.我知道检票和"休眠"使用简单的记录正面对Java(SL4J)和春天使用 日志的成分从阿帕奇Commons.

他们将共同存在愉快地?我想我会使用 log4j 一起两SL4J和记录分Apache commons,你觉得这是个好主意吗?

可以我设置了它们输出的数据记录进入一个共同的文件?或者我应该使用单独的文件?或者我应该商店的记录数据库中的消息?(我可不想,因为我找到grepping等关于文本的文件很方便。)

春天我猜我需要一些类型的配置文件Apache公共记录成分,以及在那里我直接使用log4j?

当我已经设置了这些我猜猜看,一切工作,我设置的记录水平的信息,因为它是相当肯定的是,所有三个框架出的一些信息在这一模式?或者是有更好的方式确定?

我的最后一个问题。在该项目的我开始,你建议我用SL4J为我自己的记录的目的?(我想我会使用log4j直接,但那是之前我学到一点点关于记录和大量受人尊敬的图书馆似乎选择的道路桥梁/墙对他们的日志记录的需要。如果它得到我们的灵活性,而无需增加的成本没有理由不这样做,方式。)

我期待着听到你关于你是如何做你的记录。这是一个新的区域对我来说,我渴望改善自己。

有帮助吗?

解决方案

好SLF4J只是一个门面,如下议院的日志记录,这意味着他们仍然需要别的东西来的工作。他们允许图书馆的作者,不强迫用户进入具有多个伐木图书馆和配置。Log4j和logback定期记录库。

看看 在这里, 更多的信息。

SLF4J有一个 下议院的日志记录桥 你可以用它来替代公共记录图书馆。我想的模式有解释的情况非常好。

现在,你只需要使用slf4j-logj12.jar 到有下议院的日志记录和slf4j使用log4j(或其他任何你选择;顺便说一句,logback不需要额外的图书馆可用于slf4j)作为后备发动机。

您的申请会因此有

  • jcl104-over-slf4j.jar (桥梁雅加达共记录到slf4j)
  • slf4j.jar (对于休眠和其他人使用slf4j)
  • slf4j-logj12.jar (为slf4j使用log4j作为后端)
  • log4j.jar (你的应用程序使用。所有配置还将在这里完成的)

其他提示

这里是如何重新定向的一切SLF4J:

  • 删除 commons-logging.jar 从类路径。如果您使用的是专家和有麻烦摆脱公共记录,看看 .

  • jcl-over-slf4j.jar 在类路径(在SLF4J分布)。这是一个替代模仿JCL的课程,但呼吁SLF4J内部。这将需要护理的春天,和任何其他框架使用的JCL.

连接SLF4J你最喜欢的backend(Log4J Logback...)通过投入 slf4j-xxx.jar 在类路径。配置后,记录所有类别的一个文件,和你完成。

至于使用SLF4J你的应用程序,它不是严格必要的。等库JCL和SLF4J最初设计为谁写的库和不要锁定他们的客户到一个特别的日志记录框架。

PS:通过这种方式,JCL=雅加达共用记录

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top