![](/img/trans.png)
[英][Log4j2]: Programmatically turn off logging for specific Java packages
[英]Turn off log4j2 startup debug logging
如何關閉 log4j2 在初始化時吐出的調試日志記錄?
這類事情:
2014-10-22 11:16:45,505 調試構建插件[名稱=過濾器,類=org.apache.logging.log4j.core.filter.ThresholdFilter]。 正在搜索構建器工廠方法... 2014-10-22 11:16:45,505 DEBUG 在 org.apache.logging.log4j.core.filter.ThresholdFilter 類中找不到構建器工廠方法。 打算嘗試尋找工廠方法。 2014-10-22 11:16:45,505 DEBUG 仍在構建插件 [name=filter, class=org.apache.logging.log4j.core.filter.ThresholdFilter]。 正在尋找工廠方法...
我正在通過 Eclipse 從一個簡單的 Java 應用程序調用 log4j2。 我的意思是: public static void main(String[] args) { ... }
xml 配置的記錄器部分是:
<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 消息(這可能是您想要的)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.