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定制的附加器。