Async Logger

Async Logger - Async Logger 异步日志

将日志记录器异步化,以提高日志吞吐量并提升性能。
fabric / forge / neoforge / quilt 作者 decce6 支持版本 1.20.1 - 26.1.2
下载量
104,019
关注数
24
数据来源
Modrinth
模组详细介绍

Async Logger 是一个 Minecraft 模组,它使日志记录操作变为异步。

在原版中,日志记录器不是异步的。这意味着实际的日志记录操作(包括 I/O 操作)发生在日志记录线程上。本模组将日志记录改为异步,以获得更好的性能。

当大量消息被记录和/或启用了调试日志记录(Forge / NeoForge 默认启用)时,这尤其有用。

基准测试

项目 原版 AsyncLogger
简单消息(1万) 6146.1ms 141.2ms
带占位符的消息(1万) 6413.2ms 96.6ms
带异常的消息(1500) 19572.4ms 9.0ms

您可以通过在配置中启用 testPerformance 来自行执行这些测试。启用此选项后,模组将在设置异步日志记录器前后记录大量消息。您可以在日志中查看测试结果。

技术细节

  • 使用了异步日志记录器,而非异步附加程序。前者更新、更快,且在分配率上更轻量。
  • 异步日志记录器需要 LMAX Disruptor,这是一个无锁的线程间通信库。当该库不存在时,模组会将其加载到系统类加载器上。本模组根据 Apache-2.0 许可证 重新分发 LMAX Disruptor。
  • 配置文件允许轻松控制一些 log4j2 设置。
  • System.outSystem.err 可以被重定向到日志记录器。
基本信息
模组名称Async Logger
作者decce6
下载量104,019
关注数24
支持版本1.20.1 - 26.1.2
加载器fabric / forge / neoforge / quilt
客户端required
服务端unsupported