如果我必须分发一个特定的框架,比如可以在许多项目中使用的自定义验证框架,我该如何处理这个框架内的日志记录,以便它使用与它正在使用的项目相同的日志记录方法?即我已经用通常的 debug、warn、info... 方法编写了一个记录器接口(interface),这个接口(interface)的实现可以使用 log4j 或任何其他日志记录方法来实现这些方法。如果我将其作为 jar 分发,不同的项目如何将此 jar 与其日志框架一起使用?
最佳答案
我强烈建议不要编写另一个日志记录框架,而是重新编写应用程序代码以使用 SLF4J 日志记录 API。所有与其他日志记录实现接口(interface)的工作都已经完成,并且在业界众所周知。
一个额外的好处是您可以获得 {} 占位符,这让您可以做
log.debug("a={}, b={}", a, b);
并且 a.toString() 和 b.toString() 仅在字符串实际被记录时调用。这允许大量日志语句实际上不会执行,除非您需要它们在调试设置中运行。
关于Java 日志接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6978443/