如何控制客户端库中的日志级别?

Mar*_*eon 1 java logging log4j client-library

我们希望客户能够控制客户端JAR中的日志记录级别.做这个的最好方式是什么?

目前我们只有一些写入System.out的日志语句.我意识到使用Log4J可以解决这个问题,尽管我们最大的客户之一不使用Log4J并使用自己的自定义日志记录实现.是否有一种干净的方法让他们控制我们的客户端jar中的日志记录?

我们想到的选项:客户端可以在客户端jar类上显式设置属性来设置日志记录级别(不喜欢这样),我们的客户端jar可以读取客户端可以放在类路径上的可选.properties文件(更好但仍然是有点痛苦).

Dan*_*ler 5

不要使用具体的日志记录框架,请使用SLF4J,以便在需要时可以交换日志记录.我首先将您自己的System.out转换为包含的java.util.logging.它非常直接,方便大多数需求.

如果您的客户端使用另一个日志记录框架,则存在与slf4j的桥接,或者您可以编写自己的.

编辑:我们用它来简化使用LOG4J到我们使用的java.util.logging的外部库的日志记录.