2017-09-07 137 views
2
<?xml version="1.0" encoding="UTF-8"?> 
<configuration debug="true"> 
    <include resource="/opt/logback/logback_mobile.xml"></include> 
</configuration> 

找不到資源對應[/opt/logback/logback_mobile.xml]如何在logback.xml中指定絕對路徑?

但該文件確實存在。

如何在logback.xml內指定絕對路徑?

回答

1

你有包括logb​​ack.xml文件中的資源時,三個選項:

作爲文件

要包含一個文件使用的文件屬性。您可以使用相對路徑,但請注意,當前目錄由應用程序定義,並且不一定與配置文件的路徑相關。

作爲一種資源:

要包括資源,即在類路徑中找到文件,使用資源屬性。 <include resource="includedConfig.xml"/>

作爲網址:

要包含一個URL的內容使用url屬性。 <include url="http://some.host.com/includedConfig.xml"/>

docs

因此,您可以使用相對於應用程序運行位置的文件路徑,也可以使用類路徑引用,也可以使用URL buut絕對路徑不受支持。

要包含這個文件:/opt/logback/logback_mobile.xml我覺得你的選擇是:

  • 使用相對基準,假設你的應用程序從/opt/app/myservice運行,那麼你包括聲明將是:<include resource="../../logback/logback_mobile.xml"></include>
  • 在您的應用程序的類路徑中包含/opt/logback/,然後將包含聲明更改爲<include resource="logback_mobile.xml"></include>
  • 從網絡服務器提供logback_mobile.xml,然後通過URL包含它。