ConsoleLogListener.cs 852 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using BepInEx.Configuration;
  3. using BepInEx.ConsoleUtil;
  4. namespace BepInEx.Logging
  5. {
  6. /// <summary>
  7. /// Logs entries using Unity specific outputs.
  8. /// </summary>
  9. public class ConsoleLogListener : ILogListener
  10. {
  11. public void LogEvent(object sender, LogEventArgs eventArgs)
  12. {
  13. if ((eventArgs.Level & ConfigConsoleDisplayedLevel.Value) == 0)
  14. return;
  15. Kon.ForegroundColor = eventArgs.Level.GetConsoleColor();
  16. Console.Write(eventArgs.ToStringLine());
  17. Kon.ForegroundColor = ConsoleColor.Gray;
  18. }
  19. public void Dispose() { }
  20. private static readonly ConfigEntry<LogLevel> ConfigConsoleDisplayedLevel = ConfigFile.CoreConfig.Bind(
  21. "Logging.Console","DisplayedLogLevel",
  22. LogLevel.Fatal | LogLevel.Error | LogLevel.Message | LogLevel.Info,
  23. "Only displays the specified log levels in the console output.");
  24. }
  25. }