logback.xml和运行的应用程序从JetBrains IDEA IDE



当我在IDEA中开发应用程序时,我应该将logback.xml放在哪里以使其对应用程序产生影响?

似乎当你运行/调试IDEA不做任何jar,不调用Maven来构建一些东西。它直接从编译*.class文件执行main()吗?如果是这样,我可以将logback.xml放在哪里,使其生效?

logback.xml应该在CLASSPATH的根目录中可用。当您运行应用程序时,完整的CLASSPATH将在一开始就打印出来。当我把logback.xml/src/main/resources (Maven项目),它的工作没有任何问题。也可以用logback-test.xml的名字放在/src/test/resources里,有存在感。

简单地运行:

getClass().getClassLoader().getResource("/logback.xml");

看看它是否返回一些东西或null

如果您不使用Maven项目,打开项目结构 (Ctrl + Alt + Shift + S)并添加Modules部分选择包含logback.xml的文件夹并将其标记为Sources(蓝色图标)。

我需要重新构建项目(不仅仅是重新运行或重新编译项目)。更改srcmainresourceslogback.xml不会影响logback,因为类加载器正在获取target/文件夹中的logback.xml,而不是/src文件夹。这是有意义的,因为目标是运行环境。因此,需要通过构建将新的xml文件传输到目标。

最新更新