簡體   English   中英

Log4j2 - 以編程方式獲取附加過濾器

[英]Log4j2 - Get appender filter programmatically

我目前正在將一個項目從使用 log4j1 升級到 log4j2。 代碼中有一些地方正在調用appender.getFilter() ,但使用新的 API 不再可用。 Old code used org.apache.log4j.Appender and I am now currently using org.apache.logging.log4j.core.Appender .

檢查 log4j2 文檔和代碼我可以看到過濾器可以添加到 Appenders 但我無法找到如何獲取它們。

有沒有辦法以編程方式獲取已應用於 Appender 的過濾器?

getFilter()仍然存在,但它已從Appender接口中刪除:雖然所有這些標准的都支持過濾器,但並不需要 appender 來支持過濾器。

要檢索過濾器,您只需轉換為Filterable

final Filter filter = appender instanceof Filterable ?
                      ((Filterable) appender).getFilter() :
                      null;

備注:在 Log4j 2.x 中,過濾器可以出現在四個不同的位置(參見文檔)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM