Избегайте записи сообщений об ошибках, если level = "info" в log4j2 - PullRequest
0 голосов
/ 22 октября 2018

Я хочу сохранить отдельные файлы журнала для информационных журналов и журналов ошибок.Однако я не хочу, чтобы журналы ошибок записывались в файл информационного журнала, т. Е. Когда level = "info", я не хочу, чтобы журналы ошибок записывались в файл.

<RollingFile name="Filer"  fileName="logs/info.log"
        filePattern="logs/info-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" />
            <SizeBasedTriggeringPolicy size="${SIZE}" />
        </Policies>
        <DefaultRolloverStrategy max="5" />
    </RollingFile>

<RollingFile name="App"  fileName="logs/error.log"
        filePattern="logs/error-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" />
            <SizeBasedTriggeringPolicy size="${SIZE}" />
        </Policies>
        <DefaultRolloverStrategy max="5" />
    </RollingFile>
<Loggers>       
    <Logger name="org.pro" level="info" additivity="false">
        <AppenderRef ref="File" level="info" />
        <AppenderRef ref="App" level="error" />
    </Logger>
</Loggers>
<Root level="info" additivity="false">
            <AppenderRef ref="FileAppender" />
</Root>

Хотя я могу создать другой журналфайлы.Файл error.log генерируется правильно, имея только журналы ошибок.Но info.log содержит информацию и журналы ошибок.

1 Ответ

0 голосов
/ 22 октября 2018

Вы должны разделить оба <Loggers>.

Примерно так:

<Loggers>       
    <Logger name="org.pro" level="INFO" additivity="false">
        <AppenderRef ref="Filer" />
    </Logger>
    <Logger name="org.pro" level="ERROR" additivity="false">
        <AppenderRef ref="App" />
    </Logger>
</Loggers>

Выше будет регистрироваться информация в файле logs/info.log и ошибка в файле logs/error.log.

...