LoggerContext

This commit is contained in:
timerix 2022-12-06 02:56:10 +06:00
parent de64155ebd
commit 3ebb5be581

View File

@ -0,0 +1,39 @@
namespace DTLib.Logging.New;
/// wrapper around ILogger and LoggerExtensions that stores context
public class LoggerContext
{
public ILogger Logger;
public readonly string Context;
public LoggerContext(ILogger logger, string context)
{
Logger = logger;
Context = context;
}
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Log(LogSeverity severity, object message)
=> Logger.Log(Context, severity, message);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void LogDebug(object message)
=> Logger.LogDebug(Context, message);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void LogInfo(object message)
=> Logger.LogInfo(Context, message);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void LogWarn(object message)
=> Logger.LogWarn(Context, message);
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void LogError(object message)
=> Logger.LogError(Context, message);
/// uses Ben.Demystifier to serialize exception
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void LogException(Exception ex)
=> Logger.LogException(Context, ex);
}