LoggerMessageAttribute Class

Definition

Provides information to guide the production of a strongly typed logging method.

public ref class LoggerMessageAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class LoggerMessageAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type LoggerMessageAttribute = class
    inherit Attribute
Public NotInheritable Class LoggerMessageAttribute
Inherits Attribute
Inheritance
LoggerMessageAttribute
Attributes

Examples

static partial class Log
{
    [LoggerMessage(EventId = 0, Message = "Could not open socket for {hostName}")]
    static partial void CouldNotOpenSocket(ILogger logger, LogLevel level, string hostName);
}

Remarks

The method this attribute is applied to:

- Must be a partial method.

- Must return void.

- Must have a LogLevel as one of its parameters, if the attribute does not specify it.

- Must have access to an ILogger: as a parameter (which is required when the method is static), or, for an instance method, through an ILogger field or primary constructor parameter on the containing type.

- Must not have a name that starts with an underscore, or any parameter whose name starts with an underscore.

- Can be generic, but its type parameters cannot use the allows ref struct constraint.

- Must not have parameters that use the params, scoped, or out modifiers, or that are ref struct types.

Constructors

Name Description
LoggerMessageAttribute()

Initializes a new instance of the LoggerMessageAttribute class that's used to guide the production of a strongly typed logging method.

LoggerMessageAttribute(Int32, LogLevel, String)

Initializes a new instance of the LoggerMessageAttribute class that's used to guide the production of a strongly typed logging method.

LoggerMessageAttribute(LogLevel, String)

Initializes a new instance of the LoggerMessageAttribute class that's used to guide the production of a strongly typed logging method.

LoggerMessageAttribute(LogLevel)

Initializes a new instance of the LoggerMessageAttribute class that's used to guide the production of a strongly typed logging method.

LoggerMessageAttribute(String)

Initializes a new instance of the LoggerMessageAttribute class that's used to guide the production of a strongly typed logging method.

Properties

Name Description
EventId

Gets or sets the logging event ID for the logging method.

EventName

Gets or sets the logging event name for the logging method.

Level

Gets or sets the logging level for the logging method.

Message

Gets or sets the message text for the logging method.

SkipEnabledCheck

Gets or sets the flag to skip IsEnabled check for the logging method.

TypeId

When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Name Description
Equals(Object)

Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode()

Returns the hash code for this instance.

(Inherited from Attribute)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to