我们希望客户端能够控制客户端 JAR 中的日志记录级别。执行此操作的最佳方法是什么?
目前我们只有少数写入 System.out 的日志语句。我意识到使用 Log4J 可以解决这个问题,尽管我们最大的客户之一不使用 Log4J 而是使用他们自己的自定义日志记录实现。是否有一种干净的方法让他们控制我们客户端 jar 中的日志记录?
我们想到的选项:客户端可以在客户端 jar 类上显式设置属性以设置日志记录级别(不喜欢这样),我们的客户端 jar 可以读取一个可选的 .properties 文件,客户端可以将其放在他们的类路径中(更好但还是有点痛)。
最佳答案
不要使用具体的日志框架,使用SLF4J ,因此您可以根据需要交换日志记录。我首先将您自己的 System.out 转换为包含的 java.util.logging。它非常简单明了,可以满足大多数需求。
如果您的客户端使用其他日志记录框架,则存在到 slf4j 的桥接或者您可以编写自己的桥接器。
编辑:我们用它来简化将使用 LOG4J 的外部库记录到我们使用的 java.util.logging 中。
关于java - 如何控制客户端库中的日志记录级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830448/