【问题标题】:Relative path not working in lobgack.xml include file相对路径在 lobgack.xml 包含文件中不起作用
【发布时间】:2018-04-06 03:08:16
【问题描述】:

我已将我的 logback.xml 放在战争之外,并将该文件包含在主 logback.xml 中。

问题是绝对路径与包含文件一起工作,但相对路径不工作 下面是代码:

 <configuration scan="true" scanPeriod="30 seconds">
   <include file="..//..//..//..//logback-new.xml" />   
 </configuration>

包含的文件路径:C:\Users\MB0000038\Documents\vuliv-server-development - 2\theapp\logback files

战争中的资源文件夹:C:\Users\MB0000038\Documents\vuliv-server-development - 2\theapp\AnalyticsAPI\src\main\resources

任何帮助表示赞赏

【问题讨论】:

    标签: java logging logback slf4j


    【解决方案1】:

    根据Logback docs文件包含...

    可以使用相对路径,但注意当前目录由应用程序定义,不一定与配置文件的路径相关。

    因此,给定您的相对路径:..//..//..//..//logback-new.xml Logback 将在应用程序当前工作目录上方的四个目录中查找logback-new.xml

    我怀疑您正在定义相对路径,就好像应该相对于您的 WAR 中的资源文件夹,但这不是它应该定义的方式。相反,它应该相对于应用程序的当前工作目录进行定义。如果 Logback 找不到要包含的文件,它会发出一条状态消息告诉你。

    【讨论】:

    • 所以应用程序当前工作目录是C:\Users\MB0000038\Documents\vuliv-server-development - 2\theapp\AnalyticsAPI 因为项目名称是AnalyticsAPI?
    • 我不确定您在上一条评论中要问什么。你问我应用程序的当前工作目录是什么?或者您是否验证了应用程序的当前工作目录是什么(如果是,如何验证?)并且您现在问我为什么它是那个值?
    • 是的,我也在询问当前的工作目录,如果 CWD 是 C:\Users\MB0000038\Documents\vuliv-server-development - 2\theapp\AnalyticsAPI ,那么相对路径应该是什么?
    • Find current working directory。但是,尝试从 WAR 中定义相对路径——我猜想——在 Web 容器中运行可能非常脆弱。我建议使用绝对路径更可靠。
    • 不能使用绝对路径..因为我使用多个应用程序服务器,我需要每个应用程序服务器的相对路径,这将是不同的,但绝对路径将是相同的
    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 2012-12-26
    • 1970-01-01
    • 2020-04-15
    • 1970-01-01
    • 2011-12-08
    • 2015-11-08
    • 1970-01-01
    相关资源
    最近更新 更多