Отключить пользовательский печать регистратора в консоли (log4j2)

StackOverflow https://stackoverflow.com//questions/24011143

Вопрос

Можем ли мы DSable Log Print для некоторых customm создания регистратора?

У меня есть две регистраторы:

  1. root logger

  2. metriks logger (который печатает файл )

  3. <Appenders>
        <File name="file" fileName="app.log">
            <PatternLayout>
                <Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
            </PatternLayout>
        </File>
    
        <Console name="STDOUT" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-mm-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
        </Console>
    
    
    </Appenders>
    
    <Loggers>
    
        <logger name="metrics" level="info" additivity="true">
            <AppenderRef ref="file"/>
        </logger>      
    
        <root level="info">
            <AppenderRef ref="STDOUT"/>
        </root>
    
    </Loggers>
    
    .

    Я хочу отключить печатные сообщения в консоли для Logger файла

Это было полезно?

Решение

ключ к пониманию здесь http://logging.apache.org/log4j/2.X / Manual / Configuration.html # Добавление аддитивности

Корневой логин - это родитель регистратора «Метрики».Событие журнала «Метрики» передается в Appender Root Bogger («stdout»).Это известно как аддитивность.Можно отключить его, установив атрибут аддитивности на логите «Метрики» на ложь.

<logger name="metrics" level="info" additivity="false">
        <AppenderRef ref="file"/>
</logger>
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top