44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
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);
|
|
|
|
/// uses Ben.Demystifier to serialize exception
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void LogWarn(Exception ex)
|
|
=> Logger.LogWarn(Context, ex);
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void LogError(object message)
|
|
=> Logger.LogError(Context, message);
|
|
|
|
/// uses Ben.Demystifier to serialize exception
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public void LogError(Exception ex)
|
|
=> Logger.LogError(Context, ex);
|
|
} |