- 从 log4j1 切换到 log4j2(1.2.17 到 2.12)。
- 我有 5 个项目使用新的 log4j2。我删除了 log4j1 的旧 jar,现在所有引用和路径都引用 log4j2 新添加的 jar。
- 我正在使用 log4j2.xml 来设置 log4j2 的配置。
- 另外 5 个项目中有 4 个项目可以使用新的 log4j2 完美运行,并使用
log4j2.xml
中描述的正确模式记录到正确的文件。文件。 - 一个项目(我们称之为“ProjectX”)在尝试访问同一记录器时返回错误:
ERROR StatusLogger Caught javax.xml.parsers.ParserConfigurationException
运行项目时使用以下内容:
- jdk1.7.0_79
- oracle.jdbc_11.1.1\ojdbc6dms.jar;
- oracle.nlsrtl_11.1.0\orai18n.jar;
- oracle.odl_11.1.1\ojdl.jar;
- oracle.dms_11.1.1\dms.jar;
- oracle.xdk_11.1.0\xmlparserv2.jar;
- oracle.xdk_11.1.0\xml.jar;
- com.oracle.toplink_1.0.0.0_11-1-1-5-0.jar;
- org.eclipse.persistence_1.1.0.0_2-1.jar;
- com.bea.core.antlr.runtime_2.7.7.jar;
- javax.persistence_1.0.0.0_2-0-0.jar;
- wlserver_10.3\server\lib\weblogic.jar;
- commons-io-2.4.jar;
- log4j-api-2.12.0.jar;
- log4j-core-2.12.0.jar;
- wlserver_10.3\server\lib\weblogic.jar
log4j2.xml
我正在使用:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Properties>
<!-- Path to the log files -->
<Property name="log-path">C:/logs</Property>
</Properties>
<Appenders>
<!-- Logger that prints to the Console window -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout>
<pattern>%-6p%d{DATE} - %C{1}.%M:%L - %m%n</pattern>
</PatternLayout>
</Console>
<!-- Logger that prints to the log file specified in the fileName -->
<RollingFile name="LoggerFile" fileName="${log-path}/App.log" filePattern="${log-path}/App-%d{yyyy-MM-dd}-%i.log" immediateFlush="true" append="true">
<PatternLayout>
<pattern>%-6p%d{DATE} - %C{1}.%M:%L - %m%n</pattern>
</PatternLayout>
<!-- The maximum size of a log file -->
<Policies>
<SizeBasedTriggeringPolicy size="1 MB" />
</Policies>
<!-- Number of log files before starting to roll over -->
<DefaultRolloverStrategy max="10"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="RollingFileLogger" level="DEBUG">
<AppenderRef ref="LoggerFile"/>
</Logger>
<Root level="DEBUG">
<AppenderRef ref="LoggerFile"/>
</Root>
</Loggers>
</Configuration>
知道是什么导致了错误 ERROR StatusLogger Caught javax.xml.parsers.ParserConfigurationException
?
难道是oracle.xdk_11.1.0\xmlparserv2.jar
或xml.jar
?
我尝试了 xmlparserv2.jar 版本 12.2,它修复了该错误。 要下载 xmpparserv2.jar 版本 12.2: https://maven.oracle.com/com/oracle/jdbc/xmlparserv2/12.2.0.1/xmlparserv2-12.2.0.1.jar
最佳答案
我将 xmlparser jar 从版本 11.1 升级到版本 12.2:xmlparserv2-12.2.0.1.jar。 我将其添加到项目中并解决了问题。
关于java - 切换到log4j2后如何修复javax.xml.parsers.ParserConfigurationException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56877361/