Search code examples
javalogback

Take logback.xml to outside of the jar


I am using logback with slf4j in my Maven Java project. Currently logback config file (logback.xml) is in src -> main -> resources folder. And it is working fine.
My issue is, I need to give my client the ability to configure logging as he prefers. For that logback.xml should be outside the jar when I build it. But as xml is inside src folder it is inside the jar and no one can change it after build.
How to achieve this?


Solution

  • Specifying the location of the default configuration file as a system property You may specify the location of the default configuration file with a system property named "logback.configurationFile". The value of this property can be a URL, a resource on the class path or a path to a file external to the application.

    java -Dlogback.configurationFile=/path/to/config.xml -jar myapp.jar
    

    From offcial docs