Log4j вход в файл и консоль

Я использую дополнения Log4j/log4j для регистрации логов. Вот конфигурация

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>

<appender name="fileAppender" class="org.apache.log4j.rolling.RollingFileAppender">
    <param name="append" value="true" />

    <rollingPolicy class="org.apache.log4j.rolling.FixedWindowRollingPolicy">
      <param name="minIndex" value="1"/>
      <param name="maxIndex" value="10"/>
      <param name="FileNamePattern" value="/appserver/Logs/Logs1/log.%i.gz"/>

</rollingPolicy>
 <triggeringPolicy class="org.apache.log4j.rolling.SizeBasedTriggeringPolicy">
    <param name="maxFileSize" value="1000000000"/><!-- 1GB -->
</triggeringPolicy>
    <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd MMM yy HH:mm:ss:SSS}] [%p] - [%t %l]- %m%n" />
    </layout>

</appender>
<!--disable logging from the library Jars -->
<category name="org.apache.velocity">
    <priority value="off" />
</category>

<category name="com.someting.www">
    <priority value="off" />
</category>
<category name="org.apache">
    <priority value="off" />
</category>

<root>
    <level value="DEBUG" />
    <appender-ref ref="fileAppender" />
</root>
</log4j:configuration>

Я ожидаю, что журналы будут приходить только в файле, но я получаю журналы, записанные как в файле, так и в консоли. Пожалуйста, предложите изменения для получения ожидаемых результатов.

1 ответ

Я использую log4j2 в моем новом проекте. Я получаю журналы, записанные как в файл, так и в консоль. Это мой log4j2.xml:

<properties>
    <property name="logPath">/opt/weego_main/logs</property>
</properties>

<Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
    </Console>

    <RollingFile name="RollingFile" filename="${logPath}/weego_main.log"
                 filepattern="${logPath}/$${date:yyyy-MM}/weego_main-%d{yyyy-MM-dd}-%i.log.gz">
        <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c{1}:%L - %msg%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy/>
            <SizeBasedTriggeringPolicy size="20 MB"/>
        </Policies>
    </RollingFile>
</Appenders>

<Loggers>
    <Root level="info">
        <AppenderRef ref="Console"/>
        <AppenderRef ref="RollingFile"/>
    </Root>
</Loggers>

Я думаю, что вы должны создать узел Appenders с именем Console и добавить его в корневой узел.

Другие вопросы по тегам