【问题标题】:How many projects use Async Logger in log4j2?有多少项目在 log4j2 中使用 Async Logger?
【发布时间】:2020-03-13 03:33:43
【问题描述】:

log4j2 中的异步记录器可以大大提高记录性能,但它们是否足够强大?当程序意外终止时,该时间点之前的日志消息是否会刷新到磁盘中?有谁知道有多少大型项目(例如 apache 项目)使用异步记录器并举一些例子?任何帮助将不胜感激。

【问题讨论】:

标签: java logging log4j log4j2 slf4j


【解决方案1】:

当任何进程死亡时,您可能会丢失正在缓冲的日志事件。大多数使用 File Appender 的人都会打开缓冲,因为没有它的性能要慢得多。在这种情况下,操作系统缓冲区中的事件将丢失。与大多数网络协议一样,除非您使用像 Apache Flume 这样的东西,它会立即确认收到,但即使这样,也可能会丢失一些消息,因为进程在数据写入之前就死了。但是Remko's answer 比我更好地涵盖了丢失消息的主题。

至于谁在使用它,我只能回答我们知道 Async Loggers 正在被使用,因为我们确实不时收到问题,但是没有办法正式跟踪谁在使用任何开源项目,更不用说如何使用了。

【讨论】:

    【解决方案2】:

    我的公司将 Async Loggers 用于任务关键型股票交易系统,没有任何问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2012-12-16
      • 2018-07-20
      • 1970-01-01
      • 2018-06-25
      相关资源
      最近更新 更多