logback 自定义日志级别处理

发布于 2024-10-17 05:10:54 字数 141 浏览 4 评论 0原文

我想扩展 logback 以将具有错误日志级别的日志发送到我们的内部日志记录服务(带有 http post 和一些自定义参数)。

编写自定义 logback Filter 是执行此操作的最佳方法吗? “过滤器”这个词对我来说听起来更像是“过滤掉日志”。

I want to extend logback to send logs with ERROR log levels to our internal logging service (with http post and some custom parameters).

Is writing a custom logback Filter the best way to do this? The word 'filter' to me sounds more to "filter out logs".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

回忆追雨的时光 2024-10-24 05:10:54

您可以使用 ThresholdFilter,它只会在特定附加程序上记录具有给定日志级别(或更高级别)的消息。以下是有关如何为日志级别 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>

因此,您必须将周围的 ConsoleAppender 替换为您的附加程序实现,它将通过 HTTP Post 记录到您的自定义日志服务。 ThresholdFilter 可以如上例所示使用。

要了解如何实现自己的 Appender,您可能需要查看 simpledb-appender< /a> 项目,它为 Amazon SimpleDB 实现自定义附加程序。

You can use the ThresholdFilter, that will only log messages with level given log level (or above) on a specific appender. Here is an example, on how to configure a ThresholdFilter for log level ERROR. It will log all ERROR messages using the surrounding 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>

So you must replace the sourrounding ConsoleAppender with your appender implementation, which will log to your custom logging service via HTTP Post. The ThresholdFilter can be used as shown in the example above.

For learning how to implement your own Appender, you might want to take a look at the simpledb-appender project, which implements a custom appender for Amazon SimpleDB.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文