当我在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文件传输到目标。