ConsoleLogListener.cs 851 B

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