命令行' defaultLogLevel=debug '不输出调试消息



早上好,我已经在谷歌上搜索了两天的解决方案,试图了解如何让我的log.debug("...")消息输出。我对这个问题的研究表明,当启动我的应用程序时,我应该只需要通过命令行传递一个参数。这似乎不是情况。

我正在使用IntelliJ。我正在使用Maven。

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--- some content removed for brevity -->
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.5</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
</project>

App.java

import org.slf4j.*;
public class App {
private static final Logger log = LoggerFactory.getLogger(App.class);
public static void main(String[] args){
log.info("Info");
log.debug("Debug");
log.warn("Warn");
log.error("Error");
}
}

输出
java -Dorg.sl4fj.simpleLogger.defaultLogLevel=DEBUG -cp C:testapptargetclasses;C:Users613296.m2repositoryorgslf4jslf4j-api1.7.5slf4j-api-1.7.5.jar;C:Users613296.m2repositoryorgslf4jslf4j-simple1.7.5slf4j-simple-1.7.5.jar App 
[main] INFO App - Info
[main] WARN App - Warn
[main] ERROR App - Error
Process finished with exit code 0

调试信息永远不会输出!我已经确认类路径中的所有jar文件都存在。选项-Dorg.sl4fj.simpleLogger.defaultLogLevel=DEBUG是我认为会使这个工作(根据很多)我读了多少书)。所以,我一定错过了什么重要的东西。请帮助我了解我需要做什么来实现我的目标!

在命令行中将其移动到App之前,以便JVM看到它。

要调用的类之后的所有参数都在args参数中传递。(试着打印出来)

相关内容

  • 没有找到相关文章

最新更新