制作自定义 SLF4J 记录器
Make a custom SLF4J Logger
我有一个使用 slf4j 进行日志记录的应用程序。现在我想添加一个功能,每当我记录错误时,都会调用特定的 url 。
目前我在应用程序级别添加了一个包装器方法,它发送 http 请求然后调用记录器方法。但是这样我就错过了一些输出,一些异常只是在没有发送相应请求的情况下被记录下来。
我正在尝试制作我的自定义记录器 class。我的问题是我应该扩展哪个 classes(或要实现的接口)。
我不能扩展 Logger
class 因为它的构造函数不是 public。实现 Logger
接口似乎令人生畏,因为所有方法都是抽象的。 NOPLogger
没有这些问题,但它的 info
(或 error
...)方法是最终的,不能扩展,它们什么都不做,猜猜名字的由来。
我已经实现了 ILoggerFactory
接口到 return 我自己的 Logger 实例。
如果您的记录器库是 Logback,您可能会误用 filters。让一切都通过你的过滤器,如果它是一个错误,另外发送你的 HTTP 请求。
我有一个使用 slf4j 进行日志记录的应用程序。现在我想添加一个功能,每当我记录错误时,都会调用特定的 url 。
目前我在应用程序级别添加了一个包装器方法,它发送 http 请求然后调用记录器方法。但是这样我就错过了一些输出,一些异常只是在没有发送相应请求的情况下被记录下来。
我正在尝试制作我的自定义记录器 class。我的问题是我应该扩展哪个 classes(或要实现的接口)。
我不能扩展 Logger
class 因为它的构造函数不是 public。实现 Logger
接口似乎令人生畏,因为所有方法都是抽象的。 NOPLogger
没有这些问题,但它的 info
(或 error
...)方法是最终的,不能扩展,它们什么都不做,猜猜名字的由来。
我已经实现了 ILoggerFactory
接口到 return 我自己的 Logger 实例。
如果您的记录器库是 Logback,您可能会误用 filters。让一切都通过你的过滤器,如果它是一个错误,另外发送你的 HTTP 请求。