mattymatty-AsyncLoggers_Experimental icon

AsyncLoggers Experimental

YEET the logs to their own thread!

Last updated 3 months ago
Total downloads 32842
Total rating 4 
Categories BepInEx Performance
Dependency string mattymatty-AsyncLoggers_Experimental-20.1.2
Dependants 12 other packages depend on this package

README

This Releases are EXPERIMENTAL

Official Package

Async Loggers

GitHub Release GitHub Pre-Release
Thunderstore Downloads

YEET the logs to their own thread!

For the users:

Async Logs:

remove any log related lag by processing them separately from the game stuff. the more logs your modpack generates the bigger the impact this mod has!

Log Level filter:

Reduce logs from mods by specifying a LogLevel for each LogSource

Unity Log wrapping:

Detect calls to Unity.Debug inside the game assemblies and allow users to tweak them
Note: Has to be enabled in the config LogWrapping.Enabled

For the Developers:

the class AsyncLoggers.API.AsyncLoggersAPI contains a method to register your own ILogListener into AsyncLoggers system:

public static void UpdateListenerFlags(ILogListener target, LogListenerFlags flags)

possible flags are:

  • SyncHandling
    This listener will receive logs directly, without any buffering or delay.
  • IgnoreFilters
    This listener will receive all logs, bypassing any filters that might be applied.
  • AddTimeStamp
    This listener will have a timestamp prepended to the log messages.
  • None

additionally the class exposes two properties:

  • APIVersion
    The current version of the API, represented as a Version.
  • TraceableLevelsMask
    a flag enum representing what LogLevel will make AsyncLoggers block to collect stacktrace.