/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace HandlerTest { public class TestLoggerFactory : ILoggerFactory { private ILoggerProvider _provider; public void AddProvider(ILoggerProvider provider) { if (provider == null) { throw new ArgumentNullException(nameof(provider)); } if (_provider != null) { throw new InvalidOperationException("Provider is already set, cannot add another."); } _provider = provider; } public ILogger CreateLogger(string categoryName) { return _provider.CreateLogger(categoryName); } public void Dispose() { var provider = _provider; _provider = null; if (provider != null) { provider.Dispose(); } } } }