【问题标题】:log4j2 - URISyntaxException when specifying path to configuration filelog4j2 - 指定配置文件的路径时出现 URISyntaxException
【发布时间】:2013-09-20 09:09:17
【问题描述】:

我在 Web 应用程序中使用 log4j2,并且在我的用户主页中有配置文件。我已经在 web.xml 中指定了位置,如documentation 中所述:

<context-param>
    <param-name>log4jConfiguration</param-name>
    <param-value>file://${user.home}/someDirectory/log4j2.xml</param-value>
</context-param>

不幸的是,在 Windows 系统上,我得到了一个

java.net.URISyntaxException: Illegal character in authority at index 7: file://C:\Users\steinman/someDirectory/log4j2.xml
    at java.net.URI$Parser.fail(Unknown Source)
    at java.net.URI$Parser.parseAuthority(Unknown Source)
    at java.net.URI$Parser.parseHierarchical(Unknown Source)
    at java.net.URI$Parser.parse(Unknown Source)
    at java.net.URI.<init>(Unknown Source)
    at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:46)
    ...

因为反斜杠。文档在这里没有帮助,因为在示例中还有反斜杠,这是错误的。

有什么解决办法吗?

我无法使用斜杠对路径进行硬编码,因为该应用程序也将在其他系统上运行。

我不想将 log4j2.xml 放在应用程序中,因为实际上我有多个应用程序在 Tomcat 中运行,我只想使用一个配置文件来配置它们。当然,在不同的系统上,我想使用不同的日志记录配置。

【问题讨论】:

    标签: java configuration log4j log4j2


    【解决方案1】:

    您可能发现了一个错误。您能否在 log4j2 问题跟踪器中为此(包括所有详细信息)提出票证?

    https://issues.apache.org/jira/browse/LOG4J2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 2015-04-18
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      相关资源
      最近更新 更多