异步日志记录器 (Async Logger) 是一款 Minecraft 模组,它使日志记录操作变为异步执行。
异步日志记录器 (Async Logger) 是一款 Minecraft 模组,它使日志记录操作变为异步执行。 在原版 Minecraft 中,日志记录器并非异步。这意味着实际的日志记录操作(包括 I/O 操作)都在日志线程上发生。该模组将日志记录更改为异步模式,以获得更好的性能。 当正在记录大量消息和/或启用了调试日志时(Forge / NeoForge 默认启用),这一点尤其有用。 基准测试 项目 原版 AsyncLogger 简单消息 (10k) 6146.1ms 141.2ms 含占位符的消息 (10k) 6413.2ms 96.6ms 含异常堆栈的消息 (1.5k) 19572.4ms 9.0ms 您可以通过在配置文件中启用 testPerformance 选项自行进行这些测试。启用此选项后,模组会在设置异步日志记录器之前和之后记录大量消息。您可以在日志中看到测试结果。 过滤功能 从版本 2.0.0 开始,AsyncLogger 支持日志过滤。过滤操作在专用的异步日志线程上进行,确保调用者没有任何开销。 使用方法很简单:只需在配置中将 filtering.enabled 设置为 true ,然后编辑一个或多个过滤器即可。支持按日志记录器名称、级别和消息(匹配子字符串或正则表达式)进行过滤。 技术细节 异步日志记录器 被优先使用,而非异步追加器 (Asynchronous appenders)。前者更新、更快且分配率更低。 异步日志记录器需要 LMAX Disruptor,这是一个无锁的线程间通信库。如果系统中不存在该库,模组会将其加载到系统类加载器中。本模组在 Apache-2.0 许可证 下重新分发 LMAX Disruptor。 配置文件允许轻松控制某些 log4j2 设置。 System.out 和 System.err 可以重定向到日志记录器。
在鱼乐云资源中心浏览该资源,登录后可一键安装到你的游戏服务器。