java - 制作自定义 SLF4J 记录器
问题描述
我有一个使用 slf4j 进行日志记录的应用程序。现在我想添加一个功能,每当我记录错误时,都会调用特定的 url。目前我在应用程序级别添加了一个包装器方法,它发送 http 请求然后调用记录器方法。但是这种方式我错过了一些输出,并且一些异常只是被记录而没有发送相应的请求。我正在尝试制作我的自定义记录器类。我的问题是我应该扩展哪些类(或实现接口)。我无法扩展Logger
该类,因为它的构造函数不是公共的。实现Logger
接口似乎令人生畏,因为所有方法都是抽象的。NOPLogger
没有这些问题,但它的(info
或error
...) 方法是最终的,不能扩展,它们什么也不做,猜测因此得名。我已经实现了ILoggerFactory
返回我自己的 Logger 实例的接口。
解决方案
如果您的记录器库是 Logback,您可能会为此滥用过滤器。让一切都通过您的过滤器,如果是错误,则另外发送您的 HTTP 请求。
推荐阅读
- google-apps-script - 调用脚本函数会导致复合范围的“范围未找到”
- python - 如何根据列表的值过滤字典
- css - 通过拉伸使背景图像覆盖 div,而不是保持纵横比
- git - git合并分支时如何避免损坏部分?
- angular - 在新选项卡中打开子组件并在父/子组件之间传递数据
- python - Python:如何在注意图形结构的同时迭代 MIME 消息树?
- spacy - 如何将现有的拥抱脸变压器模型用于 spacy?
- ios - 如何在自定义浏览器上实现广告拦截器?
- php - PHP ImagefilledArc IMG_ARC_PIE 不完整饼图
- apache-spark - 如何将 DeltaLake 文件从 GCS 包含到 BigQuery