【问题标题】:Log4j2.xml how to stop printing logs to the console and still write them to file?Log4j2.xml 如何停止将日志打印到控制台并仍然将它们写入文件?
【发布时间】:2019-08-24 23:15:56
【问题描述】:

我对将日志打印到控制台不感兴趣,只打印到文件中。 我当前的 Log4j2.xml 配置不支持这一点,除非我正在配置 'level="OFF"' 但它不会同时写入文件和控制台。 如何将记录器配置为仅写入文件?

已经尝试注释掉标签,注释掉“Logger”标签内的“appenderRef”标签

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"}

仍在打印到控制台

【问题讨论】:

    标签: log4j2


    【解决方案1】:

    在配置中评论以下内容并尝试

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

    和附加程序

    <AppenderRef ref="STDOUT" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-16
      • 1970-01-01
      • 2012-01-12
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多