我想扩展 logback 以将具有 ERROR 日志级别的日志发送到我们的内部日志服务(使用 http post 和一些自定义参数)。
编写自定义 logback 过滤器是最好的方法吗?对我来说,“过滤器”这个词听起来更像是“过滤掉日志”。
我想扩展 logback 以将具有 ERROR 日志级别的日志发送到我们的内部日志服务(使用 http post 和一些自定义参数)。
编写自定义 logback 过滤器是最好的方法吗?对我来说,“过滤器”这个词听起来更像是“过滤掉日志”。
您可以使用ThresholdFilter
, 仅在特定附加程序上记录具有给定日志级别(或更高级别)的消息。这是一个示例,关于如何配置ThresholdFilter
日志级别的 ERROR。它将使用周围记录所有错误消息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>
所以你必须ConsoleAppender
用你的 appender 实现替换环境,它将通过 HTTP Post 记录到你的自定义日志服务。ThresholdFilter
可以如上例所示使用。
要了解如何实现您自己的 Appender,您可能需要查看simpledb-appender项目,该项目为 Amazon SimpleDB 实现了一个自定义 appender。