Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日志接口_Java_Logging - Fatal编程技术网

Java日志接口

Java日志接口,java,logging,Java,Logging,如果我要发布一个特定的框架,比如可以在许多项目中使用的定制验证框架,那么如何在这个框架中处理日志记录,以便它使用与使用它的项目相同的日志记录方法?i、 我已经编写了一个日志程序接口,带有常见的调试、警告、信息。。。方法和此接口的实现可以使用log4j或任何其他日志记录方法实现这些方法。如果我将其作为jar分发,那么不同的项目如何将此jar与他们的日志框架一起使用?有一些库在log4j、java.util.logging等上提供了一个抽象层。它们充当“接口”,然后使用您的项目的人可以使用他们选择的

如果我要发布一个特定的框架,比如可以在许多项目中使用的定制验证框架,那么如何在这个框架中处理日志记录,以便它使用与使用它的项目相同的日志记录方法?i、 我已经编写了一个日志程序接口,带有常见的调试、警告、信息。。。方法和此接口的实现可以使用log4j或任何其他日志记录方法实现这些方法。如果我将其作为jar分发,那么不同的项目如何将此jar与他们的日志框架一起使用?

有一些库在log4j、java.util.logging等上提供了一个抽象层。它们充当“接口”,然后使用您的项目的人可以使用他们选择的实现。看看和。

我强烈建议您不要编写另一个日志框架,而是重新编码应用程序,使用SLF4J日志API。所有与其他日志实现接口的工作都已经完成,并且在业界是众所周知的

另一个好处是,您可以获得{}占位符,这允许您只需执行以下操作

 log.debug("a={}, b={}", a, b);

而a.toString()和b.toString()仅在实际记录字符串时才被调用。这允许许多日志语句,除非您需要它们在调试设置中运行,否则它们实际上不会执行。

为什么要重新发明轮子?在日志框架中,最困难的部分是确保在日志记录时具有良好的性能,而在没有日志记录时具有优异的性能。