// 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));
}
}
}
}