slf4j 使用 jdk 进行日志记录 – 如何启用调试?

2022-09-01 11:47:15

默认情况下,slf4j 与 jdk (slf4j-jdk14-1.6.1.jar) 一起使用时,不会记录调试消息。如何启用它们?

我无法在官方文档,网络或此处找到有关如何启用它的信息。

我发现了一些关于(虽然失败)在%JDK_HOME%/lib中创建文件并在配置文件中定义级别的信息。但是,我想在编译/运行时定义该级别,以便我可以使用不同的日志记录级别从 IDE 运行和调试我的应用。

难道没有一些我可以设置的环境变量或VM arg吗?


答案 1

为什么您认为它不记录 DEBUG 消息?

如果您的意思是您的日志记录调用不会最终出现在日志文件中,那么我想您必须配置配置文件以允许在级别上记录消息。log.debug(String)java.util.logginglogging.propertiesFINE

如果您不想弄乱全局 ,那么您可以直接在命令行上传入 - 这将强制日志记录系统在当前目录中查找该配置文件。%JRE_HOME%/lib/logging.properties-Djava.util.logging.config.file=logging.properties

或者使用其他(编程)方式进行配置,请参阅下面的教程。java.util.logging

这与配置SLF4J无关;实际上,SLF4J没有任何配置,一切都是通过简单地交换JAR文件来配置的


供您参考:


答案 2

如果您使用的是slf4j SimpleLogger实现,请阅读本文

在那里,您可以看到用作默认日志级别。您可以使用系统属性对其进行更改。这对于非生产环境非常有用:simpleLoggerINFO

static {

    System.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "trace");
}

推荐