簡體   English   中英

從清單類路徑加載logback.xml

[英]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.xmlmyapp.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM