DTLib/DTLib.Logging/Loggers/LoggerExtensions.cs
2022-12-06 01:35:09 +06:00

24 lines
1.1 KiB
C#

using Ben.Demystifier;
namespace DTLib.Logging.New;
public static class LoggerExtensions
{
// replaces same overload in every ILogger instaance
public static void Log(this ILogger logger, string context, LogSeverity severity, object message)
=> logger.Log(context, severity, message, logger.Format);
public static void LogDebug(this ILogger logger, string context, object message)
=> logger.Log(context, LogSeverity.Debug, message);
public static void LogInfo(this ILogger logger, string context, object message)
=> logger.Log(context, LogSeverity.Info, message);
public static void LogWarn(this ILogger logger, string context, object message)
=> logger.Log(context, LogSeverity.Warn, message);
public static void LogError(this ILogger logger, string context, object message)
=> logger.Log(context, LogSeverity.Error, message);
/// uses Ben.Demystifier to serialize exception
public static void LogException(this ILogger logger, string context, Exception ex)
=> logger.Log(context, LogSeverity.Error, ex.Demystify());
}