public static IDisposable AutoTrace <T>(this ILogger <T> logger, Func <string> messageFactory, [CallerMemberName] string caller = "") { if (!logger.IsEnabled(Microsoft.Extensions.Logging.LogLevel.Trace)) { return(DefaultDisposable.Instance); } var writer = new MicrosoftExtensionsLoggingLogMessageWriter <T>(logger); return(new AutoTrace(writer, messageFactory, caller)); }
public static void Trace <T>(this ILogger <T> logger, Func <string> messageFactory, Exception ex, [CallerMemberName] string caller = "") { var writer = new MicrosoftExtensionsLoggingLogMessageWriter <T>(logger); writer.WriteLogEntry(LogLevel.Trace, messageFactory, caller, ex); }