slf4j与log4j在不同框架下的互操作性

时间:2015-03-07 03:35:24

标签: java logging

我想知道log4j与其他框架的互操作性。例如,如果我希望将来从log4j转移到其他日志框架,那将是什么限制。

另外,如果我使用log4j而不是slf4j,它是否会为我提供更改底层日志框架的灵活性?

最终,我的问题是我是否应该将log4j用于slf4j,或者只使用log4j进行日志记录,以便日后灵活地更改它?

2 个答案:

答案 0 :(得分:3)

您需要了解SLF4J的目的。 SLF4J实际上使用其他框架,如log4j,java日志记录或logback。 SLF4J通过绑定来实际将日志记录调用委托给幕后的其他库。

你可以看看这个

Why not use java.util.logging?

使这些库更有意义。 log4j和SLF4j的作者都在回答这个问题。

你可以从他的答案中找到更多的见解,也可以在他的个人资料中找到。

答案 1 :(得分:1)

最终,我们无法为您解答。根据您正在构建的应用程序的短期和长期要求,您需要自己决定。例如,

  • 如果它是一个寿命很短的简单系统,那么它可能并不重要。

  • 如果它是一个可能需要随着时间的推移而发展的长期系统,那么使用像slf4j这样的外观具有明显的长期优势。

  • 如果它是一个可以广泛重复使用的库,那么您需要考虑目标"生态系统"。但是slf4j是非常明智的。

但在您决定需要了解不同技术的目的之前;特别是slf4j的真正目的。