Log4j2.xml как остановить печать журналов на консоль и при этом записать их в файл? - PullRequest
1 голос
/ 03 апреля 2019

Меня не интересует печать журналов на консоли, только в файл. моя текущая конфигурация Log4j2.xml не поддерживает это, если я не настраиваю 'level = "OFF"', но тогда она не записывает ни файл, ни консоль. Как настроить регистратор для записи только в файл?

уже пытался закомментировать тег и закомментировать тег "appenderRef" внутри тега "Logger"

the log4j2.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<Configuration>
    <Appenders>
        <RollingFile name="vertx_file" append="true"
            fileName="/var/log/vertx.log"
            filePattern="/var/log/vertx/$${date:yyyy-MM}/vertx-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{ISO8601} %-5p %c:%L - %m%n" />
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="5MB" />
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <Console name="STDOUT" target="SYSTEM_OUT">
            <!-- <LogStashJSONLayout/> -->
            <PatternLayout pattern="%d{ISO8601} %-5p %c:%L - %m%n" />
        </Console>
    </Appenders>

    <Loggers>
        <Logger name="com.service.vertex" level="OFF" >
            <!-- <AppenderRef ref="vertx_rollingFile" /> -->
            <!-- <AppenderRef ref="vertx_socket" /> -->
            <!-- <AppenderRef ref="STDOUT" /> -->
            <AppenderRef ref="vertx_file" />
        </Logger>


        <Logger name="org.mongodb.driver" level="OFF">
            <AppenderRef ref="vertx_rollingFile" />
            <AppenderRef ref="vertx_socket" />
            <AppenderRef ref="STDOUT" />
            <AppenderRef ref="vertx_file" />
        </Logger>


        <Root level="INFO">
            <AppenderRef ref="vertx_socket" />  
                    <!--<AppenderRef ref="STDOUT" />-->
            <AppenderRef ref="vertx_file" /> 
        </Root> 
    </Loggers>
</Configuration>

журнал:

Apr 03, 2019 2:02:35 PM com.service.vertex.dao.UsersCollection
INFO: {"response_code":551,"description":"INVALIDATE SESSION ERROR: null","log_origin":"system","id":"ERROR (57) 14:02:35:050","time":"2019-04-03 14:02:35:050","host_name":"pc","server_port":"444","level":"ERROR","verticle":"admin","remote_address":"172.15.333.21"}

все еще печатает на консоль

1 Ответ

0 голосов
/ 03 апреля 2019

Прокомментируйте ниже в конфиге и попробуйте

 <Console name="STDOUT" target="SYSTEM_OUT">
            <!-- <LogStashJSONLayout/> -->
            <PatternLayout pattern="%d{ISO8601} %-5p %c:%L - %m%n" />
        </Console>

и appenders

<AppenderRef ref="STDOUT" />
...