diff --git a/BepInEx.IL2CPP/Logging/BepInExLoggerProvider.cs b/BepInEx.IL2CPP/Logging/BepInExLoggerProvider.cs index dca3e1c..7c156b8 100644 --- a/BepInEx.IL2CPP/Logging/BepInExLoggerProvider.cs +++ b/BepInEx.IL2CPP/Logging/BepInExLoggerProvider.cs @@ -37,10 +37,18 @@ internal class BepInExLoggerProvider : ILoggerProvider EventId eventId, TState state, Exception exception, - Func formatter) => + Func formatter) + { + var logLine = state.ToString() ?? string.Empty; + + if (exception != null) + logLine += $"\nException: {exception}"; + LogEvent?.Invoke(this, - new LogEventArgs(formatter(state, exception), MSLogLevelToBepInExLogLevel(logLevel), + new LogEventArgs(logLine, MSLogLevelToBepInExLogLevel(logLevel), this)); + } + public bool IsEnabled(LogLevel logLevel) => (MSLogLevelToBepInExLogLevel(logLevel) & Logger.ListenedLogLevels) != BepInExLogLevel.None;