Как исправить javax.xml.parsers.ParserConfigurationException после переключения на log4j2? - PullRequest
0 голосов
/ 03 июля 2019
  • Переключен с log4j1 на log4j2 (с 1.2.17 до 2.12).
  • У меня есть 5 проектов, которые используют новый log4j2. Я удалил старый jar для log4j1, и все ссылки и пути теперь ссылаются на новый добавленный jar для log4j2.
  • Я использую log4j2.xml для настройки конфигурации log4j2.
  • 4 из 5 других проектов отлично работают с новым 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 \ сервер \ Lib \ weblogic.jar;
  • Обще-ю-2.4.jar;
  • log4j-апи-2.12.0.jar;
  • log4j-ядро-2.12.0.jar;
  • wlserver_10.3 \ сервер \ 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, и это исправило ошибку. Чтобы загрузить версию 12.2 из xmpparserv2.jar: https://maven.oracle.com/com/oracle/jdbc/xmlparserv2/12.2.0.1/xmlparserv2-12.2.0.1.jar

1 Ответ

0 голосов
/ 04 июля 2019

Я обновил jar xmlparser с версии 11.1 до версии 12.2: xmlparserv2-12.2.0.1.jar.Я добавил его в проект, и это решило проблему.

...