1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- using System.Diagnostics;
- using System.Linq;
- using BepInEx.Logging;
- namespace BepInEx.Preloader.Core.Logging
- {
- public static class ChainloaderLogHelper
- {
- public static void PrintLogInfo(ManualLogSource log)
- {
- string consoleTile = $"BepInEx {typeof(Paths).Assembly.GetName().Version} - {Process.GetCurrentProcess().ProcessName}";
- log.LogMessage(consoleTile);
- if (ConsoleManager.ConsoleActive)
- ConsoleManager.SetConsoleTitle(consoleTile);
- //See BuildInfoAttribute for more information about this section.
- object[] attributes = typeof(BuildInfoAttribute).Assembly.GetCustomAttributes(typeof(BuildInfoAttribute), false);
- if (attributes.Length > 0)
- {
- var attribute = (BuildInfoAttribute)attributes[0];
- log.LogMessage(attribute.Info);
- }
- }
- public static void RewritePreloaderLogs()
- {
- if (PreloaderConsoleListener.LogEvents == null || PreloaderConsoleListener.LogEvents.Count == 0)
- return;
- // Temporarily disable the console log listener as we replay the preloader logs
- var logListener = Logger.Listeners.FirstOrDefault(logger => logger is ConsoleLogListener);
- if (logListener != null)
- Logger.Listeners.Remove(logListener);
- foreach (var preloaderLogEvent in PreloaderConsoleListener.LogEvents)
- {
- PreloaderLogger.Log.Log(preloaderLogEvent.Level, $"[{ preloaderLogEvent.Source.SourceName,10}] { preloaderLogEvent.Data}");
- }
- if (logListener != null)
- Logger.Listeners.Add(logListener);
- }
- }
- }
|