在log4j
大多數(如果不是全部)appender擴展AppenderSkeleton
它提供了一個setThreshold(Priority)
方法設置消息必須設置爲最低「級別」,以便appender將其記錄在某處。如何路由log4j消息到唯一的appender
我想根據消息的級別/優先級精確將消息記錄到不同的appender。例如,我想要DEBUG消息登錄到ConsoleAppender
,但沒有其他地方。我想INFO消息登錄到FileAppender
和其他地方。我想要ERROR消息登錄到JMSAppender
和其他地方。
問題是這setThreshold(Priority)
方法,它設置記錄消息所需的「最小閾值」。
當然,我可以將ConsoleAppender
的閾值設置爲DEBUG,但由於INFO和ERROR消息比DEBUG消息「更高」,我也會將INFO和ERROR消息發送給ConsoleAppender。
是否有方法或方法配置appender「水平」/優先究竟或者是這個最低門檻我唯一的追索?使用LevelMatchFilter
編輯:
這是朝着正確方向邁出的一步?
LevelMatchFilter filter = new LevelMatchFilter();
filter.setLevelToMatch(Level.DEBUG.toString());
consoleAppender.addFilter(filter);
會上面的代碼片斷完成,確保了ConsoleAppender
日誌調試的工作,只有調試?
謝謝jalopaba - 請看看我編輯的(添加的)代碼段,並讓我知道如果我錯誤地使用它。再次感謝! – IAmYourFaja 2012-01-31 16:21:57