首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Log4j2异步日志时如何处理日志记录中的异常?

使用Log4j2异步日志时如何处理日志记录中的异常?
EN

Stack Overflow用户
提问于 2015-04-01 04:27:20
回答 1查看 1.5K关注 0票数 1

在我的应用程序中,我在异步模式下使用Log4j2 (异步记录器使用Disruptor),请告诉我如何处理日志记录过程中发生的异常。日志记录对于我的应用程序非常重要,我不想错过一个日志语句。如果日志记录出了问题,就需要立即报警。

根据Apache的Log4j页面,建议使用ExceptionHandler,但是我找不到关于如何使用它的帮助主题。

错误处理。如果在日志记录过程中发生问题,并引发异常,异步记录器或附录程序就不太容易将此问题通知应用程序。这可以部分地通过配置ExceptionHandler来缓解,但这仍然不能涵盖所有的情况。因此,如果日志记录是业务逻辑的一部分,例如,如果您使用Log4j作为审计日志框架,我们建议同步记录这些审计消息。(请注意,除了审计跟踪的同步日志记录之外,还可以组合它们并使用异步日志记录进行调试/跟踪日志记录。)

等待建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-03 05:11:22

我建议首先尝试实现一个实现ExceptionHandler接口的简单类,并确认它在出现问题时被调用。一旦确认了这一点,您就可以继续执行自定义回退机制。

其次,可能很难开发健壮的回退:如果log4j失败的原因是磁盘已满或损坏,则回退可能无法写入磁盘。类似地,您可能无法建立网络连接..。我建议您的后备方案包含多个选项,以增加其中一个选项成功的可能性。

硬件很便宜,所以考虑为备份机制添加一个单独的网卡或一个单独的硬盘。如果使用回退机制,请不要忘记发送通知,这样您就可以解决原来的问题。

这取决于任务的关键程度--您可能想要调查那些提供高可用性的供应商产品--这通常涵盖的不仅仅是日志,也不确定您在这里需要什么。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29382864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档