2
我想要擴展logback以將帶有ERROR日誌級別的日誌發送到我們的內部日誌記錄服務(使用http post和一些自定義參數)。logback自定義日誌級別處理
正在編寫自定義logback過濾最好的方法嗎?對我來說,「過濾器」一詞聽起來更像是「過濾出日誌」。
我想要擴展logback以將帶有ERROR日誌級別的日誌發送到我們的內部日誌記錄服務(使用http post和一些自定義參數)。logback自定義日誌級別處理
正在編寫自定義logback過濾最好的方法嗎?對我來說,「過濾器」一詞聽起來更像是「過濾出日誌」。
您可以使用ThresholdFilter
,它只會記錄特定appender上給定日誌級別(或更高級別)的消息。這裏是一個例子,關於如何配置日誌級別ERROR的ThresholdFilter
。它會利用周圍ConsoleAppender
記錄所有錯誤消息:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<!-- ... -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- log messages with ERROR (and above) only -->
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>%date{yyyy-MM-dd - HH:mm:ss} %-5level %logger{60} - %message%n</pattern>
</encoder>
</appender>
<!-- ... -->
</configuration>
所以您必須使用添加器執行,這將記錄到通過HTTP POST自定義日誌服務更換sourrounding ConsoleAppender
。可以使用ThresholdFilter
,如上例所示。
學習如何實現自己的追加程序,你可能想看看simpledb-appender項目,該項目實現了亞馬遜的SimpleDB定製的附加器。