当前位置: 首页 > 知识库问答 >
问题:

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

柴辰阳
2023-03-14

等待建议。

共有1个答案

潘向明
2023-03-14

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

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

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

 类似资料:
  • 1.【强制】应用中不可直接使用日志系统(Log4j、Logback)中的API,而应依赖使用日志框架SLF4J中的API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFactory

  • 我需要选择一个日志框架来替换log4j。我最初选择slf4j logback作为日志记录,并编写了以下配置,将应用程序日志和apache cxf的日志输出到单独的文件中,并在控制台上输出Spring/hibernate日志: 然而,我开始了解log4j2中的异步日志记录,我想在我的设置中使用log4j2实现异步日志记录,为此我编写了以下配置: log4j2配置可以工作,但它只在文件(app_log

  • 1.【强制】不要捕获Java类库中定义的继承自RuntimeException的运行时异常类,如:IndexOutOfBoundsException / NullPointerException,这类异常由程序员预检查来规避,保证程序健壮性。 正例:if(obj != null) {...} 反例:try { obj.method() } catch(NullPointerException e)

  • 异步Log日志 use AsyncLog; yield AsyncLog::info('hello world'); yield AsyncLog::debug('test debug', ['foo' => 'bar']); yield AsyncLog::notice('hello world',[], 'group.com'); yield Async

  • 本文向大家介绍Springboot2.x 使用 Log4j2 异步打印日志的实现,包括了Springboot2.x 使用 Log4j2 异步打印日志的实现的使用技巧和注意事项,需要的朋友参考一下 介绍 目前常用的 Java 日志框架有 Log4j、Logback、Log4j2 ,性能方面推荐使用异步的 Log4j2,具体对比不多做分析,前人早已完成耕荒,我们就站在巨人的肩膀上来看看如何实操。 SL

  • 假设我有一个类Person,具有不同数据类型的不同属性,我在我的主方法中有这样的代码: 现在,假设高度的赋值引发了一个异常,例如InvalidCastException,代码将停止执行,并且可能会记录一些东西,以防我有一个记录表。问题是,从日志中,我无法确切地理解哪一行和赋值抛出了异常。 是否有任何方法可以捕获异常,并能够记录(数据库中的某个位置)哪个赋值引发异常,以及在这种情况下针对哪种类型的强