Skip to content

[feature request] ZLoggerMessage add instance context support #217

@Stepami

Description

@Stepami

AS-IS

The logger is passed as a parameter:

public static partial class MyLogger
{
    [ZLoggerMessage(LogLevel.Information, "Bar: {x} {y}")]
    public static partial void Bar(this ILogger<Foo> logger, int x, int y);
}

TO BE

Support instance context, to have logger obtained from field or primary ctor param:

public partial class InstanceLoggingExample
{
    private readonly ILogger _logger;

    public InstanceLoggingExample(ILogger logger)
    {
        _logger = logger;
    }

    [ZLoggerMessage(LogLevel.Information, "Bar: {x} {y}")]
    public partial void Bar(int x, int y);
}

public partial class PrimaryCtorLoggingExample(ILogger logger)
{
    [ZLoggerMessage(LogLevel.Information, "Bar: {x} {y}")]
    public partial void Bar(int x, int y);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions