[英]Load logback.xml from Manifest Class-path
我試圖從可執行文件myapp.jar
文件外部加載logback.xml
文件。
myapp.jar
具有一個META-INF/MANIFEST.MF
文件,大致如下所示:
Manifest-Version: 1.0
Class-Path: logger-config lib/lib/jcl-over-slf4j-1.7.18.jar lib/slf4j-api-1.7.18.jar
Main-Class: com.mycompany.MyAppMain
並居住在
my-app/
lib/
jcl-over-slf4j-1.7.18.jar
slf4j-api-1.7.18.jar
logger-config/
logback.xml
myapp.jar
(還有很多其他jar依賴項,請切掉那些依賴項)。
現在,如果我使用java -jar myapp.jar
運行該應用程序,它將啟動OK,但不會拾取logback.xml文件 。
從他們的文檔:
如果找不到這樣的文件,它將在類路徑中檢查文件logback.xml。
( http://logback.qos.ch/manual/configuration.html )
我知道我可以使用logback.configurationFile
重寫此方法,但是有沒有一種方法可以將XML文件僅放在類路徑中,以便logback自動加載它? 僅當我將logback.xml
到myapp.jar
(將其放在src/main/resources
dir中)時,它才似乎起作用,但是配置文件將傳播到使用myapp.jar
作為依賴項的其他JAR。
也許您只是刪除了它,但您的類路徑未指定logback-classic
依賴項。 你必須確保logback
之前出現slf4j
在類路徑定義。 另外,請注意logger-config
路徑的末尾斜杠- logback.xml
沒有它,logback將找不到您的logback.xml
(有關詳細信息,請參見此處 )。
這樣的事情應該起作用:
Class-Path: lib/logback-classic-1.1.6.jar lib/logback-core-1.1.6.jar lib/jcl-over-slf4j-1.7.18.jar lib/slf4j-api-1.7.18.jar logger-config/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.