// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; using Microsoft.Extensions.Logging; namespace Microsoft.AspNetCore.Identity.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)); } } } }