<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.2" />

Microsoft.Extensions.Logging.LoggerMessage

public static class LoggerMessage
Creates delegates that can be later cached to log messages in a performant way.
namespace Microsoft.Extensions.Logging { public static class LoggerMessage { public static Func<ILogger, IDisposable> DefineScope(string formatString); public static Func<ILogger, T1, IDisposable> DefineScope<[Nullable(2)] T1>(string formatString); public static Func<ILogger, T1, T2, IDisposable> DefineScope<T1, T2>(string formatString); public static Func<ILogger, T1, T2, T3, IDisposable> DefineScope<T1, T2, T3>(string formatString); public static Func<ILogger, T1, T2, T3, T4, IDisposable> DefineScope<T1, T2, T3, T4>(string formatString); public static Func<ILogger, T1, T2, T3, T4, T5, IDisposable> DefineScope<T1, T2, T3, T4, T5>(string formatString); public static Func<ILogger, T1, T2, T3, T4, T5, T6, IDisposable> DefineScope<T1, T2, T3, T4, T5, T6>(string formatString); public static Action<ILogger, Exception> Define(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, Exception> Define(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, Exception> Define<[Nullable(2)] T1>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, Exception> Define<T1>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, T2, Exception> Define<T1, T2>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, T2, Exception> Define<T1, T2>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, T2, T3, Exception> Define<T1, T2, T3>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, T2, T3, Exception> Define<T1, T2, T3>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, T2, T3, T4, Exception> Define<T1, T2, T3, T4>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, T2, T3, T4, Exception> Define<T1, T2, T3, T4>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, T2, T3, T4, T5, Exception> Define<T1, T2, T3, T4, T5>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, T2, T3, T4, T5, Exception> Define<T1, T2, T3, T4, T5>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); public static Action<ILogger, T1, T2, T3, T4, T5, T6, Exception> Define<T1, T2, T3, T4, T5, T6>(LogLevel logLevel, EventId eventId, string formatString); public static Action<ILogger, T1, T2, T3, T4, T5, T6, Exception> Define<T1, T2, T3, T4, T5, T6>(LogLevel logLevel, EventId eventId, string formatString, LogDefineOptions options); } }