2017-09-07 94 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包含它。