Class DynamicLoggerProvider
Provides access to ILogger categories and their minimum log levels and enables to decorate log messages.
public abstract class DynamicLoggerProvider : IDynamicLoggerProvider, ILoggerProvider, IDisposable
- Inheritance
-
DynamicLoggerProvider
- Implements
- Derived
- Inherited Members
Constructors
DynamicLoggerProvider(ILoggerProvider, LogLevelsConfiguration, IEnumerable<IDynamicMessageProcessor>)
Initializes a new instance of the DynamicLoggerProvider class.
protected DynamicLoggerProvider(ILoggerProvider innerLoggerProvider, LogLevelsConfiguration logLevelsConfiguration, IEnumerable<IDynamicMessageProcessor> messageProcessors)
Parameters
innerLoggerProvider
ILoggerProviderThe ILoggerProvider to wrap. Used to create new ILogger instances.
logLevelsConfiguration
LogLevelsConfigurationThe minimum log levels per logger category, originating from configuration.
messageProcessors
IEnumerable<IDynamicMessageProcessor>The processors to decorate log messages with.
Properties
InnerLoggerProvider
protected ILoggerProvider InnerLoggerProvider { get; }
Property Value
MessageProcessors
protected IReadOnlyCollection<IDynamicMessageProcessor> MessageProcessors { get; }
Property Value
Methods
CreateLogger(string)
Creates a new ILogger instance.
public ILogger CreateLogger(string categoryName)
Parameters
categoryName
stringThe category name for messages produced by the logger.
Returns
CreateMessageProcessingLogger(string)
protected virtual MessageProcessingLogger CreateMessageProcessingLogger(string categoryName)
Parameters
categoryName
string
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Dispose(bool)
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
GetFilter(string)
protected LoggerFilter GetFilter(string categoryName)
Parameters
categoryName
string
Returns
GetLogLevels()
Gets the list of logger categories in use, with their minimum log levels.
public ICollection<DynamicLoggerState> GetLogLevels()
Returns
RefreshConfiguration(LogLevelsConfiguration)
Refreshes the internally-tracked minimum log levels per logger category, originating from configuration.
public void RefreshConfiguration(LogLevelsConfiguration configuration)
Parameters
configuration
LogLevelsConfigurationThe updated minimum log levels per logger category.
SetLogLevel(string, LogLevel?)
Changes the minimum log level for the specified logger category and its descendants.
public void SetLogLevel(string categoryName, LogLevel? minLevel)