Search code examples
intellij-idealogback

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 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?


Solution

  • 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).