关闭log4j2启动调试日志记录



如何关闭log4j2在初始化自身时抛出的调试日志?

这类东西:

2014-10-22 11:16:45505 DEBUG Building Plugin〔name=filter,class=org.apache.logging.log4j.core.filter.ThresholdFilter〕.正在搜索生成器工厂方法。。。2014-10-22 11:16:45505调试在类org.apache.logging.log4j.core.filter.ThresholdFilter中找不到生成器工厂方法。将尝试查找工厂方法。2014-10-22 11:16:45505 DEBUG仍在构建插件〔name=filter,class=org.apache.logging.log4j.core.filter.ThresholdFilter〕。正在搜索工厂方法。。。

我通过eclipse从一个简单的Java应用程序调用log4j2。我的意思是:public static void main(String[]args){…}

xml配置的loggers部分是:

 <Loggers>
    <Root level="trace"/>
    
    <logger name="audit">
        <appender-ref ref="AUDITOUT"/>
        <appender-ref ref="DEBUGOUT"/>
        
        <appender-ref ref="ORACLEOUTINFO"/>
        <appender-ref ref="ORACLEOUTWARN"/>
        <appender-ref ref="ORACLEOUTERROR"/>
        <appender-ref ref="ORACLEOUTFATAL"/>
    </logger>
    
    <logger name="org.apache.log4j">
        <appender-ref ref="FILEOUT"/>
        <appender-ref ref="STDOUT"/>
        
        <appender-ref ref="ORACLEOUTWARN"/>
        <appender-ref ref="ORACLEOUTERROR"/>
        <appender-ref ref="ORACLEOUTFATAL"/>
    </logger>
    
    <logger name="jh.Runner2">
        <appender-ref ref="DEBUGOUT"/>
        <appender-ref ref="STDOUT"/>
        
        <appender-ref ref="ORACLEOUTTRACE"/>
        <appender-ref ref="ORACLEOUTDEBUG"/>
        <appender-ref ref="ORACLEOUTINFO"/>
        <appender-ref ref="ORACLEOUTWARN"/>
        <appender-ref ref="ORACLEOUTERROR"/>
        <appender-ref ref="ORACLEOUTFATAL"/>
    </logger>
 </Loggers>

上诉人:

 <Appenders>
    <Console name="STDOUT">
        <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="%d %p [%t] - %m%n"/>
    </Console>
    
    <RollingFile name="FILEOUT" fileName="${log-path}/mainlog2.log" filePattern="${log-path}/mainlog-%d{yyyy-MM-dd}.log">
        <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="%d %p [%t] - %m%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        </Policies>
    </RollingFile>
    
    <RollingFile name="DEBUGOUT" fileName="${log-path}/debuglog2.log" filePattern="${log-path}/debuglog-%d{yyyy-MM-dd}.log">
        <ThresholdFilter level="DEBUG" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="%d %p %C [%t] - %m%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        </Policies>
    </RollingFile>
    
    <RollingFile name="AUDITOUT" fileName="${log-path}/audit2.log" filePattern="${log-path}/auditlog-%d{yyyy-MM-dd}.log">
        <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout pattern="%d %p [%t] - %m%n"/>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        </Policies>
    </RollingFile>
    
    <JDBC name="ORACLEOUTTRACE" tableName="J0T_EVENT">
        <Filters>
            <ThresholdFilter level="DEBUG" onMatch="DENY" onMismatch="NEUTRAL"/>
            <ThresholdFilter level="TRACE" onMatch="ACCEPT" onMismatch="DENY"/>
        </Filters>
        <ConnectionFactory class="com.xxxxxxxxx.db.LoggingDBConnectionFactory" method="getDatabaseConnection" />
        <Column name="EVENT_ID" literal="${nextEventID}"/>
        <Column name="APP_NM" literal="${appName}"/>
        <Column name="CREATE_DT" isEventTimestamp="true"/>
        <Column name="EVENT_TYPE_ID" literal="1"/>
        <Column name="EVENT_TXT" pattern="${eventTxtPattern}" isUnicode="false"/>
    </JDBC>

等等。

您的配置从开始

<Configuration status="debug" ...

将其更改为

<Configuration status="warn" ...

并且您将只看到WARN级别的内部log4j消息(这可能是您想要的)。

最新更新