我有獨立的應用程序捆綁在可執行文件jar
。在可執行文件jar
的MANIFEST文件中,列出了所有依賴的jar
(其中包括所有的logback實現jar)的class-path條目。這個可執行jar還包含lognack.xml
文件。可執行jar無法找到logback.xml文件
有了這個結構,當我用簡單的java -jar MyApplication.jar
命令運行我的應用程序時,應用程序運行良好,並具有正確的日誌記錄。但是,這裏主要的問題是,要更改日誌級別,需要打開jar文件,我不能要求客戶端這樣做。所以我把logback.xml
放在jar外面,但現在所有的日誌都在控制檯上發生。
我提到Logback can't find logback.xml even though it exists (on the classpath)並且提到的解決方案是將logback.xml捆綁到單獨的jar中。但是這個解決方案很糟糕。這樣客戶端無法輕鬆更改日誌級別。如何使它在jar之外的logback.xml中工作。
我試着在MANIFEST Class-Path條目中添加logback.xml
以及其他依賴jar的條目,但沒有奏效。我的應用程序的結構就像下面
+ RootFolder
--MyApplication.jar
--logback經典-1.1.3.jar
--logback核-1.1.3.jar
- -slf4j-API-1.7.7.jar
- 其他 - Dependency.jar
--logback.xml
任何人都已經解決了這個問題?我不想在Configurator中使用程序化配置。目前的解決方法是使用選項-Dlogback.configurationFile=logback.xml
但是如何使它與工作無關?