Async Logger avatar

Async Logger [26.2] [26.1.2] [1.21.11]

Async Logger — это мод для Minecraft, который делает операции логирования асинхронными.

В ванильной версии логгеры не являются асинхронными. Это означает, что фактические операции логирования, включая операции ввода-вывода, выполняются в потоке логирования. Данный мод изменяет логирование на асинхронное для повышения производительности.

Это может быть особенно полезно, когда регистрируется большое количество сообщений и/или включено отладочное логирование (по умолчанию на Forge / NeoForge).

Тесты производительности

ЭлементВанильная версияAsyncLogger
Простые сообщения (10 тыс.)6146,1 мс141,2 мс
Сообщения с плейсхолдерами (10 тыс.)6413,2 мс96,6 мс
Сообщения с Throwable (1,5 тыс.)19572,4 мс9,0 мс

Вы можете провести эти тесты самостоятельно, включив опцию testPerformance в конфиге. Когда эта опция включена, мод будет регистрировать большое количество сообщений как до, так и после настройки асинхронных логгеров. Результаты теста вы можете увидеть в логе.

Фильтрация

Начиная с версии 2.0.0, AsyncLogger поддерживает фильтрацию логов. Фильтрация выполняется в выделенном асинхронном потоке логгера, что гарантирует отсутствие накладных расходов для вызывающего потока.

Для использования просто установите filtering.enabled в значение true в конфиге и отредактируйте один или несколько фильтров. Поддерживается фильтрация по имени логгера, уровню и сообщению (совпадение подстроки или регулярные выражения).

Технические детали

  • Используются асинхронные логгеры, а не асинхронные appender'ы. Первые являются более новыми, быстрыми и менее затратными по выделению памяти.
    • Асинхронные логгеры требуют LMAX Disruptor — библиотеку для безблокировочной межпоточной коммуникации. Мод загружает библиотеку в системный classloader, если она отсутствует. Данный мод распространяет LMAX Disruptor под лицензией Apache-2.0 License.
  • Файл конфигурации позволяет легко управлять некоторыми настройками log4j2.
  • System.out и System.err могут быть перенаправлены в логгеры.

Скачать Async Logger

 
Тип Скачать Версия Загрузчик Обновлено Размер
ReleaseAsync Logger 2.2.2+26.1.2-neoforge26.1+3 NeoForge12 августа 2026571,5 КБ
ReleaseAsync Logger 2.2.2+26.1.2-fabric26.1+3 Fabric12 августа 2026570,5 КБ
ReleaseAsync Logger 2.2.2+1.21.11-neoforge1.21.10+1 NeoForge12 августа 2026571,5 КБ
ReleaseAsync Logger 2.2.2+1.21.11-fabric1.21.8+3 Fabric12 августа 2026581,9 КБ
ReleaseAsync Logger 2.2.2+1.21.1-neoforge1.21+8 NeoForge12 августа 2026575,6 КБ
ReleaseAsync Logger 2.2.2+1.20.1-forge1.20.1Forge12 августа 20261,2 МБ
ReleaseAsync Logger 2.2.2+1.20.1-fabric1.18.2+17 Fabric12 августа 2026582,2 КБ
ReleaseAsync Logger 2.2.2+1.19.2-forge1.19.2Forge12 августа 20261,2 МБ
ReleaseAsync Logger 2.2.2+1.18.2-forge1.18.2Forge12 августа 20261,2 МБ
ReleaseAsync Logger 2.2.2+1.16.5-forge1.16.5Forge12 августа 20261,3 МБ