logback.xml and running application from JetBrains IDEA IDE
When I develop application in IDEA, where should I place logback.xml for it to have an effect on th开发者_开发技巧e application?
It seems when you run/debug IDEA doesn't make any jars and doesn't invoke Maven to build something. Does it execute main() directly from compiled *.class file? If so, where can I put logback.xml so that it would have effect?
logback.xml
should be available in the root directory of your CLASSPATH. When you run your application, the full CLASSPATH is printed at the very beginning. When I put logback.xml
in /src/main/resources
(Maven project) it works without any problem. Also putting it in /src/test/resources
with logback-test.xml
name has presence.
Simply run:
getClass().getClassLoader().getResource("/logback.xml");
And see whether it returns something or null
.
If you are not working with Maven project, open Project structure (Ctrl + Alt + Shift + S) and add in Modules section select folder containing logback.xml
and mark it as Sources (blue icon).
For me: I simply needed to re-build the project (not just re-run or re-compile the project). Changing the src\main\resources\logback.xml
did not affect logback because the class loader is picking up the logback.xml that is in the target/
folder, not the /src
folder. This makes sense since target is the run environment. Therefore, a build is required to transfer the new xml file over to target.
精彩评论