using System; using System.Collections.Generic; using Microsoft.Extensions.Logging; namespace Cap.Consistency.Test { public interface ITestLogger { IList LogMessages { get; } } public class TestLogger : ILogger, ITestLogger { public IList LogMessages { get; } = new List(); public IDisposable BeginScope(TState state) { LogMessages.Add(state?.ToString()); return null; } public bool IsEnabled(LogLevel logLevel) { return true; } public void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter) { if (formatter == null) { LogMessages.Add(state.ToString()); } else { LogMessages.Add(formatter(state, exception)); } } } }