3
我們正在使用的logback的%replace
功能來屏蔽安全敏感信息,如在我們的日誌文件的密碼和安全令牌。的logback:選擇性屏蔽報表和穩健的模式
然而,僅針對特定的appender的日誌報表的10%需要屏蔽。對於剩餘的90%,運行替換正則表達式是一種冗餘開銷。
我們已經想到了使用標記,如SEC_SENSITIVE
標記敏感的語句,並使用過濾器來限制其追加程序正在運行的。這需要爲單個記錄器設置2個互斥的appender。
Logger
|---- Appender 1 (only if marker != SEC_SENSITIVE, no replacement)
|---- Appender 2 (only if marker == SEC_SENSITIVE, with replacement)
兩個appender都會寫入同一個文件。
已經到達這一點,我有幾個問題:
- 這是否建立有意義嗎?還是有更簡單的方法? (理想情況下開箱即用的,沒有自定義代碼)
- 文件及有關
prudent
選項StackOverflow的問題,強調其對多個JVM設置使用。在我們的例子中,所有的日誌輸出將在單個JVM中產生。是否仍然有必要啓用此選項?或者是Logback足夠聰明,可以同步輸出到同一個文件的本地appender ? - 這是否有OOTB過濾器?我只發現MarkerFilter,但它是
TurboFilter
。 - 現在是否支持條件替換OOTB(如建議in this answer)?
環境: Apache ServiceMix上的OSGi與Pax Logging 1.7.0。
我沒有處理POJO,但已經有序列化表示,例如XML,JSON等等。所以沒有快速的方法來實現對調用代碼的屏蔽。此外,在這種情況下,我有興趣使用異步appender來避免日誌處理影響應用程序的性能。 – raulk