using System; using BepInEx.Configuration; using BepInEx.ConsoleUtil; namespace BepInEx.Logging { /// /// Logs entries using Unity specific outputs. /// public class ConsoleLogListener : ILogListener { public void LogEvent(object sender, LogEventArgs eventArgs) { if (eventArgs.Level.GetHighestLevel() > ConfigConsoleDisplayedLevel.Value) return; string log = $"[{eventArgs.Level,-7}:{((ILogSource)sender).SourceName,10}] {eventArgs.Data}\r\n"; Kon.ForegroundColor = eventArgs.Level.GetConsoleColor(); Console.Write(log); Kon.ForegroundColor = ConsoleColor.Gray; } public void Dispose() { } private static readonly ConfigEntry ConfigConsoleDisplayedLevel = ConfigFile.CoreConfig.Bind( "Logging.Console","DisplayedLogLevel", LogLevel.Info, "Only displays the specified log level and above in the console output."); } }