Selaa lähdekoodia

Fixes and cleanup around unix logging

Bepis 4 vuotta sitten
vanhempi
commit
456bc1f03d

+ 1 - 8
BepInEx.Preloader/Logger/PreloaderLogWriter.cs

@@ -9,7 +9,6 @@ namespace BepInEx.Preloader
 	public class PreloaderConsoleListener : ILogListener
 	{
 		public static List<LogEventArgs> LogEvents { get; } = new List<LogEventArgs>();
-		protected StringBuilder LogBuilder = new StringBuilder();
 
 		public static TextWriter StandardOut { get; set; }
 		protected PreloaderConsoleSource LoggerSource { get; set; }
@@ -32,12 +31,8 @@ namespace BepInEx.Preloader
 		{
 			LogEvents.Add(eventArgs);
 
-			string log = $"[{eventArgs.Level,-7}:{((ILogSource)sender).SourceName,10}] {eventArgs.Data}\r\n";
-
-			LogBuilder.Append(log);
-
 			ConsoleManager.SetConsoleColor(eventArgs.Level.GetConsoleColor());
-			ConsoleDirectWrite(log);
+			ConsoleDirectWrite(eventArgs.ToStringLine());
 			ConsoleManager.SetConsoleColor(ConsoleColor.Gray);
 		}
 
@@ -51,8 +46,6 @@ namespace BepInEx.Preloader
 			StandardOut.WriteLine(value);
 		}
 
-		public override string ToString() => LogBuilder.ToString();
-
 		public void Dispose()
 		{
 			if (LoggerSource != null)

+ 1 - 1
BepInEx/Bootstrap/Chainloader.cs

@@ -104,7 +104,7 @@ namespace BepInEx.Bootstrap
 				var preloaderLogSource = Logger.CreateLogSource("Preloader");
 
 				foreach (var preloaderLogEvent in preloaderLogEvents)
-					preloaderLogSource.Log(preloaderLogEvent.Level, $"[{preloaderLogEvent.Source.SourceName,10}] {preloaderLogEvent.Data}");
+					Logger.InternalLogEvent(preloaderLogSource, preloaderLogEvent);
 
 				Logger.Sources.Remove(preloaderLogSource);	
 			}

+ 2 - 4
BepInEx/Logging/ConsoleLogListener.cs

@@ -10,13 +10,11 @@ namespace BepInEx.Logging
 	{
 		public void LogEvent(object sender, LogEventArgs eventArgs)
 		{
-			if ((eventArgs.Level & ConfigConsoleDisplayedLevel.Value) > 0)
+			if ((eventArgs.Level & ConfigConsoleDisplayedLevel.Value) == 0)
 				return;
 
-			string log = $"[{eventArgs.Level,-7}:{((ILogSource)sender).SourceName,10}] {eventArgs.Data}\r\n";
-
 			ConsoleManager.SetConsoleColor(eventArgs.Level.GetConsoleColor());
-			Console.Write(log);
+			Console.Write(eventArgs.ToStringLine());
 			ConsoleManager.SetConsoleColor(ConsoleColor.Gray);
 		}
 

+ 2 - 2
BepInEx/Logging/DiskLogListener.cs

@@ -51,10 +51,10 @@ namespace BepInEx.Logging
 			if (!WriteFromUnityLog && eventArgs.Source is UnityLogSource)
 				return;
 
-			if ((eventArgs.Level & DisplayedLogLevel) > 0)
+			if ((eventArgs.Level & DisplayedLogLevel) == 0)
 				return;
 
-			LogWriter.WriteLine($"[{eventArgs.Level,-7}:{((ILogSource)sender).SourceName,10}] {eventArgs.Data}");
+			LogWriter.WriteLine(eventArgs.ToString());
 		}
 
 		public void Dispose()

+ 10 - 0
BepInEx/Logging/LogEventArgs.cs

@@ -16,5 +16,15 @@ namespace BepInEx.Logging
 			Level = level;
 			Source = source;
 		}
+
+		public override string ToString()
+		{
+			return $"[{Level,-7}:{Source.SourceName,10}] {Data}";
+		}
+
+		public string ToStringLine()
+		{
+			return $"[{Level,-7}:{Source.SourceName,10}] {Data}{Environment.NewLine}";
+		}
 	}
 }

+ 1 - 1
BepInEx/Logging/Logger.cs

@@ -14,7 +14,7 @@ namespace BepInEx.Logging
 
 		private static readonly ManualLogSource InternalLogSource = CreateLogSource("BepInEx");
 
-		private static void InternalLogEvent(object sender, LogEventArgs eventArgs)
+		internal static void InternalLogEvent(object sender, LogEventArgs eventArgs)
 		{
 			foreach (var listener in Listeners)
 			{

+ 2 - 4
BepInEx/Logging/UnityLogListener.cs

@@ -34,12 +34,10 @@ namespace BepInEx.Logging
 
 		public void LogEvent(object sender, LogEventArgs eventArgs)
 		{
-			if (sender is UnityLogSource)
+			if (eventArgs.Source is UnityLogSource)
 				return;
 
-			string log = $"[{eventArgs.Level}:{((ILogSource)sender).SourceName}] {eventArgs.Data}\r\n";
-
-			WriteStringToUnityLog?.Invoke(log);
+			WriteStringToUnityLog?.Invoke(eventArgs.ToStringLine());
 		}
 
 		public void Dispose() { }