看来当你运行/调试时,IDEA没有制作任何jar,也没有调用Maven来构建一些东西.它是否直接从编译的* .class文件执行main()?如果是这样,我在哪里可以放置logback.xml以使其生效?
logback.xml应该在CLASSPATH的根目录中可用.运行应用程序时,将在最开始打印完整的CLASSPATH.当我将logback.xml放在/ src / main / resources(Maven项目)中时,它没有任何问题.同时将其放在/ src / test / resources中,并带有logback-test.xml名称.
只需运行:
getClass().getClassLoader().getResource("/logback.xml");
并查看它是返回某些内容还是null.
如果您不使用Maven项目,请打开项目结构(Ctrl Alt Shift S)并添加模块部分选择包含logback.xml的文件夹并将其标记为Sources(蓝色图标).
翻译自:https://stackoverflow.com/questions/5612832/logback-xml-and-running-application-from-jetbrains-idea-ide