[英]What are ways to change log level at runtime depending on occurrence rate
我想知道是否有常規方法(可能是一些第三方庫)來幫助我解決以下問題。 我希望能夠根據發生率更改日志級別。 例如,如果我捕捉到一些異常並且它每小時發生一次,我想用 WARN 級別記錄它。 但如果比率變得更高,那么我想切換到錯誤級別。 這種行為的目的是不被罕見的零星異常分散注意力,這些異常通常是不可避免的,但除非有足夠的數量,否則不應引起開發人員的注意。 當我打開 Sentry 摘要頁面時,我只想查看真正重要且需要注意的內容,而不是一些偶爾會不可避免地發生的罕見請求失敗。 但同時我不能只使用 WARN 級別,因為如果有很多這樣的故障,那么顯然有一些不好的事情發生了,需要引起注意。
為了更好地說明我的意思,我認為這可以通過一個虛構的第三方庫來完成,該庫將模仿(或封裝)slf4j/commons-logging:
LOG.warn("Failed to send request to ...", e).onRate(Rates.hourlyMoreThan(5)).switchTo(LogLevel.ERROR);
另一種方法是在 Sentry 中選擇不顯示發生率低的事件(匹配某些標准,如異常類),但據我所知這是不可能的。
不確定是否可以在 Sentry UI 中進行過濾,但您肯定會創建一個基於SentryAppender的自定義 Sentry 附加程序,該附加程序將僅在達到某個閾值時測量發生並向 Sentry 發出事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.