2017-08-08 52 views
1

如果在代碼中發生任何異常,我們使用logback記錄器記錄了異常。 在記錄時,我們直接將異常對象e傳遞給錯誤方法。在登錄時屏蔽異常消息中的數據

從第三方jar引發的異常包含敏感信息,如用戶名和密碼。 目前,我們有用戶名和密碼作爲代碼中的專用字段。但是,檢查檢查日誌消息做字符串比較然後登錄並不合適。

由於異常是由第三方API引發的,因此異常的固定模式未知。這就是爲什麼我們無法使用%替換。

掩蓋異常中敏感數據的好方法是什麼?

+0

記錄您可以創建一個將被過濾通過串comparsion信息的通用異常處理程序。可能嗎? – ByeBye

+0

如果您不知道消息中的敏感數據是什麼樣的,以及如何可靠地找到它(例如位置或周圍的模式),您可以選擇不記錄任何內容,儘可能掩蔽(例如,整個部分例外名稱和堆棧跟蹤)或_best_解決問題的根源:在庫中或至少在您記錄異常的地方。 – Thomas

+0

你記錄你所需要的。如果您知道包含敏感數據的例外類型,只需記錄簡短的準備好的消息 – efekctive

回答

1

如果您可以捕獲/重新拋出異常,請將其封裝到您自己的異常中,並在郵件上使用字符串過濾器。

作爲最後的解決辦法,禁用此API包