Table of Contents

Class MessageProcessingLogger

Namespace
Steeltoe.Logging
Assembly
Steeltoe.Logging.Abstractions.dll

Wraps an ILogger with the ability to change its minimum log level at runtime. Decorates log messages using IDynamicMessageProcessor.

public class MessageProcessingLogger : ILogger
Inheritance
MessageProcessingLogger
Implements
Derived
Inherited Members

Constructors

MessageProcessingLogger(ILogger, LoggerFilter, IEnumerable<IDynamicMessageProcessor>)

Initializes a new instance of the MessageProcessingLogger class.

public MessageProcessingLogger(ILogger innerLogger, LoggerFilter filter, IEnumerable<IDynamicMessageProcessor> messageProcessors)

Parameters

innerLogger ILogger

The ILogger to wrap.

filter LoggerFilter

The filter, which determines whether logging is enabled.

messageProcessors IEnumerable<IDynamicMessageProcessor>

The message processors to decorate log messages with.

Properties

InnerLogger

protected ILogger InnerLogger { get; }

Property Value

ILogger

MessageProcessors

protected IReadOnlyCollection<IDynamicMessageProcessor> MessageProcessors { get; }

Property Value

IReadOnlyCollection<IDynamicMessageProcessor>

Methods

BeginScope<TState>(TState)

Begins a logical operation scope.

public IDisposable? BeginScope<TState>(TState state) where TState : notnull

Parameters

state TState

The identifier for the scope.

Returns

IDisposable

An IDisposable that ends the logical operation scope on dispose.

Type Parameters

TState

The type of the state to begin scope for.

ChangeFilter(LoggerFilter)

Changes the log level filter at runtime.

public void ChangeFilter(LoggerFilter filter)

Parameters

filter LoggerFilter

The updated filter, which determines whether logging is enabled.

IsEnabled(LogLevel)

Checks if the given logLevel is enabled.

public bool IsEnabled(LogLevel logLevel)

Parameters

logLevel LogLevel

Level to be checked.

Returns

bool

true if enabled.

Log<TState>(LogLevel, EventId, TState, Exception?, Func<TState, Exception?, string>)

Writes a log entry.

public virtual void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)

Parameters

logLevel LogLevel

Entry will be written on this level.

eventId EventId

Id of the event.

state TState

The entry to be written. Can be also an object.

exception Exception

The exception related to this entry.

formatter Func<TState, Exception, string>

Function to create a string message of the state and exception.

Type Parameters

TState

The type of the object to be written.