microsoft/teams.net
Publicmirrored fromhttps://github.com/microsoft/teams.netAvailable
Libraries/Microsoft.Teams.Extensions/Microsoft.Teams.Extensions.Logging/TeamsLoggerProvider.cs
43lines · modecode
| 1 | // Copyright (c) Microsoft Corporation. All rights reserved. |
| 2 | // Licensed under the MIT License. |
| 3 | |
| 4 | using Microsoft.Extensions.Logging; |
| 5 | |
| 6 | namespace Microsoft.Teams.Extensions.Logging; |
| 7 | |
| 8 | [ProviderAlias("Microsoft.Teams")] |
| 9 | public class TeamsLoggerProvider : ILoggerProvider, IDisposable |
| 10 | { |
| 11 | protected TeamsLogger _logger; |
| 12 | |
| 13 | public TeamsLoggerProvider(Common.Logging.ILogger logger) |
| 14 | { |
| 15 | _logger = new TeamsLogger(logger); |
| 16 | } |
| 17 | |
| 18 | public TeamsLoggerProvider(TeamsLogger logger) |
| 19 | { |
| 20 | _logger = logger; |
| 21 | } |
| 22 | |
| 23 | public IDisposable? BeginScope<TState>(TState state) where TState : notnull |
| 24 | { |
| 25 | return _logger.BeginScope(state); |
| 26 | } |
| 27 | |
| 28 | public ILogger CreateLogger<T>() |
| 29 | { |
| 30 | var name = typeof(T).Name; |
| 31 | return _logger.Create(name); |
| 32 | } |
| 33 | |
| 34 | public ILogger CreateLogger(string name) |
| 35 | { |
| 36 | return _logger.Create(name); |
| 37 | } |
| 38 | |
| 39 | public void Dispose() |
| 40 | { |
| 41 | _logger.Dispose(); |
| 42 | } |
| 43 | } |