Reputation: 29985
When I develop application in IDEA, where should I place logback.xml for it to have an effect on the 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?
Upvotes: 15
Views: 17982
Reputation: 17933
I 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.
Upvotes: 1
Reputation: 340763
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).
Upvotes: 27