// 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 { /// /// test logger. /// public interface ITestLogger { /// /// log messages. /// IList LogMessages { get; } } /// /// Test logger. /// /// public class TestLogger : ILogger, ITestLogger { /// /// log messages. /// 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)); } } } }