InMemoryLogger Class
Provides an in-memory logger implementation that captures log entries for testing purposes.
public class InMemoryLogger : IInMemoryLogger, ILoggerExample
// Create a logger directly
var logger = InMemoryLogger.CreateLogger("MyCategory");
logger.LogInformation("Test message");
// Access captured logs
Assert.Single(logger.Logs.Informations);
Assert.Contains(logger.Logs, log => log.Message == "Test message");- Implements
Properties
| Name | Description |
|---|---|
| Logs | Gets the collection of log entries captured by this logger. |
Gets the collection of log entries captured by this logger.
public InMemoryLogCollection Logs { get; }Property value
Methods
| Name | Description |
|---|---|
| BeginScope<TState>(TState) | |
| CreateLogger(string, InMemoryLogCollection?, IExternalScopeProvider?, TimeProvider?) | Creates a new in-memory logger instance with the specified category name. |
| CreateLogger<T>(InMemoryLogCollection?, IExternalScopeProvider?, TimeProvider?) | Creates a new generic in-memory logger instance. |
| IsEnabled(LogLevel) | |
| Log<TState>(LogLevel, EventId, TState, Exception?, Func<TState, Exception?, string>) |
BeginScope<TState>(TState)
InMemoryLogger.cspublic IDisposable? BeginScope<TState>(TState state) where TState : notnullNo documentation is available.
CreateLogger overloads
CreateLogger(string, InMemoryLogCollection?, IExternalScopeProvider?, TimeProvider?)
InMemoryLogger.csCreates a new in-memory logger instance with the specified category name.
public static IInMemoryLogger CreateLogger(string category, InMemoryLogCollection? logs = null, IExternalScopeProvider? scopeProvider = null, TimeProvider? timeProvider = null)Parameters
categorystring- The logger category name.
logsInMemoryLogCollection?- The log collection to use, or
nullto create a new collection. scopeProviderIExternalScopeProvider?- The external scope provider to use, or
nullto create a new instance. timeProviderTimeProvider?- The time provider to use for timestamping log entries, or
nullto use the system time provider.
Returns
IInMemoryLogger A new instance of IInMemoryLogger.
CreateLogger<T>(InMemoryLogCollection?, IExternalScopeProvider?, TimeProvider?)
InMemoryLogger.csCreates a new generic in-memory logger instance.
public static IInMemoryLogger<T> CreateLogger<T>(InMemoryLogCollection? logs = null, IExternalScopeProvider? scopeProvider = null, TimeProvider? timeProvider = null)Type parameters
T- The type whose name is used for the logger category name.
Parameters
logsInMemoryLogCollection?- The log collection to use, or
nullto create a new collection. scopeProviderIExternalScopeProvider?- The external scope provider to use, or
nullto create a new instance. timeProviderTimeProvider?- The time provider to use for timestamping log entries, or
nullto use the system time provider.
Returns
IInMemoryLogger<T> A new instance of IInMemoryLogger<T>.
IsEnabled(LogLevel)
InMemoryLogger.csLog<TState>(LogLevel, EventId, TState, Exception?, Func<TState, Exception?, string>)
InMemoryLogger.cspublic void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)Type parameters
TState
Parameters
logLevelLogLeveleventIdEventIdstateTStateexceptionException?formatterFunc<TState, Exception?, string>
No documentation is available.