【问题标题】:Log4J2: Get the current log events count available in ring buffer of asynchronous loggerLog4J2:获取异步记录器环形缓冲区中可用的当前日志事件计数
【发布时间】:2020-10-23 07:29:57
【问题描述】:

我们最近在 Java 应用程序中迁移到 Log4J 2.13 版本,并使用所有异步记录器配置来实现高性能。

在高负载和日志记录场景下,使用异步记录器对我们有很大帮助,因为调用代码执行速度非常快,并将日志记录请求委托给单独的线程。但是,即使在调用代码完成后,日志记录仍会在后端异步发生 - 这是预期的结果。

在上述场景中,在任何时间点,我们都想知道异步记录器的环形缓冲区中有多少日志语句可用,并且仍然等待记录。有没有办法得到这个计数?

请注意,我们不希望应用程序中异步记录器的默认/配置环形缓冲区大小。相反,我们想知道它的当前状态,即它在任何时刻有多少日志语句(等待记录)。

【问题讨论】:

    标签: java asynchronous logging log4j log4j2


    【解决方案1】:

    Log4J 提供了一个 RingBufferAdmin MBean,它公开了两个操作; getBufferSize() 和 getRemainingCapacity()。您应该能够通过应用程序中的 MBean 服务器访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-11
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多