3

我有 2 个 Webapps 和一个可执行 jar(总共 3 个)都使用非常相似的 log4j2 设置。

所有 3 个应用程序如下所示

<configuration status="OFF" xmlns:xi="http://www.w3.org/2001/XInclude">
 <Properties>
   <Property name="logfile-name">LOGNAME.log</Property>
   <Property name="logfile-folder">/home/${env:PUID}/utm/logs</Property>   
   <Property name="console-pattern">%d [%-6p] %C{1}.%M(%L) - %msg %n</Property>
   <Property name="logfile-pattern">%d [%-6p] %C{1}.%M - %msg %n</Property>    
   <Property name="max-log-size">100 MB</Property>
   <Property name="max-log-keep">12</Property>
   <Property name="rolling-interval">1</Property>
 </Properties>   

  <xi:include href="/opt/app/jtm/conf/jtm-log4j-appenders.xml" />
  <xi:include href="/opt/app/jtm/conf/jtm-log4j-loggers.xml" />
</configuration>

属性被传递到所有项目的 appenders.xml 和 loggers.xml。它适用于 Web 应用程序。

可执行jarfile报这个错误

[Warning] log4j2.xml:23:66: Include operation failed, reverting to fallback. Resource error reading file as XML (href='/opt/app/jtm/conf/jtm-log4j-appenders.xml'). Reason: no !/ in spec

[Fatal Error] log4j2.xml:23:66: An include with href '/opt/app/jtm/conf/jtm-log4j-appenders.xml'failed, and no fallback element was found.

ERROR StatusLogger Error parsing jar:file:/C:/Workspaces/JTM/jtm-irtransferfile/dist/irtransferfile.jar!/log4j2.xml
     org.xml.sax.SAXParseException; systemId: jar:file:/C:/Workspaces/JTM/jtm-irtransferfile/dist/irtransferfile.jar!/log4j2.xml; lineNumber: 23; columnNumber: 66; An include with href '/opt/app/jtm/conf/jtm-log4j-appenders.xml'failed, and no fallback element was found.

我在网上看了几个地方,没有什么可以直接回答这个问题。我确实感觉这可能是由于从文件系统读取的可执行 jar,但我有点挣扎。

4

0 回答 0