Fix Unity log messages being duplicated

This commit is contained in:
ghorsington committed 2020-07-05 10:56:58 +03:00
1 parent 03e82e1070
commit ae7a9cb6ef
2 files changed
+13 -2

No files matched your search

+1 -1
View File
@@ -43,7 +43,6 @@ namespace BepInEx.Preloader
Logger.InitializeInternalLoggers();
Logger.Sources.Add(TraceLogSource.CreateSource());
Logger.Listeners.Add(new ConsoleLogListener());
PreloaderLog = new PreloaderConsoleListener();
Logger.Listeners.Add(PreloaderLog);
@@ -223,6 +222,7 @@ namespace BepInEx.Preloader
try
{
ConsoleManager.CreateConsole();
Logger.Listeners.Add(new ConsoleLogListener());
}
catch (Exception ex)
{
+12 -1
View File
@@ -12,11 +12,22 @@ namespace BepInEx.Logging
{
if ((eventArgs.Level & ConfigConsoleDisplayedLevel.Value) == 0)
return;
ConsoleManager.SetConsoleColor(eventArgs.Level.GetConsoleColor());
Console.Write(eventArgs.ToStringLine());
Log(eventArgs);
ConsoleManager.SetConsoleColor(ConsoleColor.Gray);
}
private void Log(LogEventArgs eventArgs)
{
// Special case: if message comes from Unity log, it's already logged by Unity, in which case
// we replay it only in the visible console
if (eventArgs.Source is UnityLogSource)
ConsoleManager.ConsoleStream?.Write(eventArgs.ToStringLine());
else
Console.Write(eventArgs.ToStringLine());
}
public void Dispose() { }
private static readonly ConfigEntry<LogLevel> ConfigConsoleDisplayedLevel = ConfigFile.CoreConfig.Bind(