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

LoggerMessageAttribute

public sealed class LoggerMessageAttribute : Attribute
Provides information to guide the production of a strongly typed logging method.
using System; using System.Runtime.CompilerServices; namespace Microsoft.Extensions.Logging { [System.Runtime.CompilerServices.NullableContext(1)] [System.Runtime.CompilerServices.Nullable(0)] [AttributeUsage(AttributeTargets.Method)] public sealed class LoggerMessageAttribute : Attribute { public int EventId { get; set; } = -1; [System.Runtime.CompilerServices.Nullable(2)] public string EventName { [System.Runtime.CompilerServices.NullableContext(2)] get; [System.Runtime.CompilerServices.NullableContext(2)] set; } public LogLevel Level { get; set; } = LogLevel.None; public string Message { get; set; } = ""; public bool SkipEnabledCheck { get; set; } public LoggerMessageAttribute() { } public LoggerMessageAttribute(int eventId, LogLevel level, string message) { EventId = eventId; Level = level; Message = message; } public LoggerMessageAttribute(LogLevel level, string message) { Level = level; Message = message; } public LoggerMessageAttribute(LogLevel level) { Level = level; } public LoggerMessageAttribute(string message) { Message = message; } } }