java - 切换到log4j2后如何修复javax.xml.parsers.ParserConfigurationException?

标签 java xml-parsing log4j2

  • 从 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.jarxml.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/

相关文章:

java - Java加解密中IV和salt的处理

java - 通过 XSLT 解析嵌套标签

java - log4j :WARN No appenders could be found for logger (org. springframework.web.filter.CharacterEncodingFilter)。使用 log4j2

java - Log4j2:日志堆栈跟踪没有异常

java - 在 Ubuntu 上安装 Jenkins

java - 在 Java 中的 XML 标记中添加字符串?

iphone - 在 IOS 中验证 XML 文件

iphone - DDXML 解析器中的内存泄漏

spring - 为多个包配置 RollingFileAppenders Log4j2 .properties/.yaml,没有 .xml

java - 结果集上的 JSTL foreach