Предупреждение Log4j: не найдено никаких дополнений, даже если они есть - PullRequest
0 голосов
/ 23 марта 2020

Мой проект весной и для конфигурации журнала я использую log4j. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю следующее предупреждение при запуске wildfly на сервере сайта

18:06:42,630 ERROR [stderr] (MSC service thread 1-7) log4j:WARN No appenders could be found for logger (org.jboss.logging).
18:06:42,630 ERROR [stderr] (MSC service thread 1-7) log4j:WARN Please initialize the log4j system properly.
18:06:42,630 ERROR [stderr] (MSC service thread 1-7) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

Но файл log4j2. xml находится внутри каталога project.war/WEB-INF/classes/. Я не мог смоделировать эту проблему на своем локальном или на наших серверах, потому что та же самая война работает без проблем.

совместное использование java версии обоих мест.

local:

openjdk version "1.8.0_222-ea"
OpenJDK Runtime Environment (build 1.8.0_222-ea-b03)
OpenJDK 64-Bit Server VM (build 25.222-b03, mixed mode)

Сайт:

openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Совместное использование log4j2.xml для Ваша ссылка.

<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
  <Properties>
    <Property name="log-path">D:\Server\apache-tomcat-9.0.12\logs\</Property>
    <Property name="archive">${log-path}\\archive\\</Property>
  </Properties>
  <Appenders>
    <Console name="Console-Appender" target="SYSTEM_OUT">
        <PatternLayout>
            <pattern>
                [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} (%F:%L) %X{TransactionId} - %msg%n
            </pattern>>
        </PatternLayout>
    </Console>
    <File name="File-Appender" fileName="${log-path}/data.log" >
        <PatternLayout>
            <pattern>
                [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} (%F:%L) %X{TransactionId}  - %msg%n
            </pattern>
        </PatternLayout>
    </File>
        <RollingFile name="RollingFile-Appender"
                 fileName="${log-path}/data_back.log"
                 filePattern="${archive}/data.log.%d{yyyy-MM-dd-hh-mm}.gz">
        <PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] (%F:%L) %X{TransactionId} - %msg%n"/>
            <Policies>
                 <TimeBasedTriggeringPolicy/>
                 <SizeBasedTriggeringPolicy size="30 MB"/>
            </Policies>
                 <DefaultRolloverStrategy max="30"/>
    </RollingFile>
</Appenders>
<Loggers>

       <Logger name="com.project" level="debug" additivity="false">
           <AppenderRef ref="File-Appender" level="debug"/>
           <AppenderRef ref="RollingFile-Appender" level="debug"/>
           <AppenderRef ref="Console-Appender" level="debug"/>
       </Logger> 
       <Logger name="com.project" level="debug" additivity="false">
           <AppenderRef ref="File-Appender" level="debug"/>
           <AppenderRef ref="RollingFile-Appender" level="debug"/>
           <AppenderRef ref="Console-Appender" level="debug"/>
       </Logger> 
        <Logger name="org.springframework" level="info" additivity="false">
           <AppenderRef ref="File-Appender" level="debug"/>
           <AppenderRef ref="RollingFile-Appender" level="debug"/>
           <AppenderRef ref="Console-Appender" level="debug"/>
       </Logger> 
       <Logger name="org.hibernate" level="info" additivity="false">
           <AppenderRef ref="File-Appender" level="debug"/>
           <AppenderRef ref="RollingFile-Appender" level="debug"/>
           <AppenderRef ref="Console-Appender" level="debug"/>
       </Logger>

    <Root level="info">
        <AppenderRef ref="Console-Appender"/>
    </Root>
 </Loggers>
</Configuration>

Пожалуйста, помогите мне разобраться с этим. Спасибо

1 Ответ

1 голос
/ 23 марта 2020

Я обновляю этот ответ на основе вашего комментария ниже.

Log4j: предупреждающие сообщения приходят из Log4j 1.x. Он говорит вам, что не может найти никакой конфигурации. Конфигурация, которую вы показываете, для Log4j 2.

Если вы намереваетесь использовать оба Log4j 1 и Log4j 2, то вы должны предоставить действительную конфигурацию для обоих. НЕ пытайтесь войти в те же файлы. В этом сценарии у вас не должно быть log4j-1.2-api.2.10.jar, поскольку он заменяет log4j-1.2.17.jar.

Если вы хотите использовать только Log4j 2, удалите jar log4j 1.2.17 и оставьте log4j-1.2-api-2.10.0.jar из Log4j 2. Вы также должны использовать log4j-slf4j-impl-2.10.0.jar, а не slf4j-log4j12-1.7.25.jar. Если ведение журнала общих ресурсов присутствует, вы должны использовать log4j-jcl-2.10.0.jar.

...