Java SDK的log4j2日志记录

时间:2019-03-31 20:40:25

标签: java log4j2 slf4j

假设我们构建了一个Java SDK,并且不同的项目可以通过将其添加为类路径中的jar或将其添加为maven pom.xml或gradle文件中的依赖项来使用。当其他项目正在使用此库时,SDK的日志在运行时不可见。我尝试使用SL4J,当其他项目使用它时,在运行时所有日志都不可见。我应该选择log4j2吗?如果是,我应该在我的SDK中提供log4j配置/ properties文件吗?是否可以在运行时从使用者库中获取属性/配置?最佳做法是什么?你能请教吗?

1 个答案:

答案 0 :(得分:1)

最佳实践1:永远不要在jar中包含日志记录配置文件。

使用您的库的应用程序可能希望提供自己的日志记录配置。如果其中一个罐子包含不同的配置,则这些应用程序将成为一个“有趣”的猜谜游戏,以弄清它们的配置为何不起作用。 (并且根据类路径的顺序,它们的配置有时可能会优先于库中的配置,因此有时起作用,只是使其更具挑战性……)