Class SyncLogger
Provides a logger that lets one thread at a time into the logger behind it. A failure of its Log is written to
the console instead of thrown; BeginScope and IsEnabled pass a failure on.
public class SyncLogger : ILogger
- Inheritance
-
SyncLogger
- Implements
- Inherited Members
Constructors
SyncLogger(ILogger)
Provides a logger that lets one thread at a time into the logger behind it. A failure of its Log is written to
the console instead of thrown; BeginScope and IsEnabled pass a failure on.
public SyncLogger(ILogger logger)
Parameters
loggerILoggerThe logger behind it.
Methods
BeginScope<TState>(TState)
Begins a logical operation scope.
public IDisposable? BeginScope<TState>(TState state) where TState : notnull
Parameters
stateTStateThe identifier for the scope.
Returns
- IDisposable
An IDisposable that ends the logical operation scope on dispose.
Type Parameters
TStateThe type of the state to begin scope for.
Remarks
It asks the logger behind it, under the lock.
IsEnabled(LogLevel)
Checks if the given logLevel is enabled.
public bool IsEnabled(LogLevel logLevel)
Parameters
logLevelLogLevelLevel to be checked.
Returns
Remarks
It asks the logger behind it, under the lock.
Log<TState>(LogLevel, EventId, TState, Exception?, Func<TState, Exception?, string>)
Writes a log entry.
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)
Parameters
logLevelLogLevelEntry will be written on this level.
eventIdEventIdId of the event.
stateTStateThe entry to be written. Can be also an object.
exceptionExceptionThe exception related to this entry.
formatterFunc<TState, Exception, string>Function to create a string message of the
stateandexception.
Type Parameters
TStateThe type of the object to be written.
Remarks
It writes to the logger behind it, under the lock; a failure goes to the console.