早上好,我已经在谷歌上搜索了两天的解决方案,试图了解如何让我的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
参数中传递。(试着打印出来)