Java 相对路径在lobgack.xml include文件中不起作用
我将logback.xml放在war之外,并将该文件包含在主logback.xml中 问题是绝对路径与包含文件一起工作,但相对路径不工作 代码如下:Java 相对路径在lobgack.xml include文件中不起作用,java,logging,logback,slf4j,Java,Logging,Logback,Slf4j,我将logback.xml放在war之外,并将该文件包含在主logback.xml中 问题是绝对路径与包含文件一起工作,但相对路径不工作 代码如下: <configuration scan="true" scanPeriod="30 seconds"> <include file="..//..//..//..//logback-new.xml" /> </configuration> 包含的文件路径:C:\Users\MB0000038
<configuration scan="true" scanPeriod="30 seconds">
<include file="..//..//..//..//logback-new.xml" />
</configuration>
包含的文件路径:C:\Users\MB0000038\Documents\vuliv服务器开发-2\theapp\logback文件
war内部的资源文件夹:C:\Users\MB0000038\Documents\vuliv服务器开发-2\theapp\AnalyticsAPI\src\main\resources
根据文件所包含的内容,任何帮助都将受到感谢。
可以使用相对路径,但请注意,当前目录由应用程序定义,不一定与配置文件的路径相关
因此,给定您的相对路径:。///../../../../../../logback new.xml
logback将查找应用程序当前工作目录上方的logback new.xml
四个目录
我怀疑您是在定义相对路径,好像它应该相对于WAR中的resources文件夹,但这不是它应该如何定义的。相反,它应该相对于应用程序的当前工作目录进行定义。如果Logback找不到要包含的文件,它将发出一条状态消息,告诉您。因此应用程序当前的工作目录是
C:\Users\mb000038\Documents\vuliv server development-2\theapp\AnalyticsAPI
。您是在问我应用程序的当前工作目录是什么吗?或者您是否验证了应用程序的当前工作目录是什么(如果是,如何验证?),并且您现在问我为什么是该值?是的,我也在问当前工作目录,以及CWD是否为C:\Users\MB0000038\Documents\vuliv server development-2\theapp\AnalyticsAPI
,相对路径应该是什么?。然而,试图从一场战争中定义一条相对路径——我认为——是在一个web容器中运行的——可能非常脆弱。我建议使用绝对路径更可靠。不能使用绝对路径..因为我使用多个应用程序服务器,我需要每个应用程序服务器的相对路径,这将是不同的,但绝对路径将是相同的