当我在 IDEA 中开发应用程序时,我应该将 logback.xml 放在哪里才能对应用程序产生影响?
似乎当您运行/调试时,IDEA 不会制作任何 jar,也不会调用 Maven 来构建某些东西。它是否直接从编译的 *.class 文件执行 main() ?如果是这样,我可以将 logback.xml 放在哪里才能生效?
当我在 IDEA 中开发应用程序时,我应该将 logback.xml 放在哪里才能对应用程序产生影响?
似乎当您运行/调试时,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)并在Modules部分中添加选择包含的文件夹并将其标记为Sources(蓝色图标)Shift。Slogback.xml
对我来说:我只需要重新构建项目(不仅仅是重新运行或重新编译项目)。更改src\main\resources\logback.xml
不会影响 logback,因为类加载器正在拾取target/
文件夹中的 logback.xml,而不是/src
文件夹。这是有道理的,因为目标是运行环境。因此,需要构建以将新的 xml 文件传输到目标。