microsoft/teams.net

Public

mirrored fromhttps://github.com/microsoft/teams.netAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
kavin/agents-sdk-interop

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Libraries/Microsoft.Teams.Extensions/Microsoft.Teams.Extensions.Logging/TeamsLogger.cs

53lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4using Microsoft.Extensions.Logging;
5
6namespace Microsoft.Teams.Extensions.Logging;
7
8public class TeamsLogger : ILogger, IDisposable
9{
10 public Common.Logging.ILogger Logger => _logger;
11
12 protected Common.Logging.ILogger _logger;
13
14 public TeamsLogger(Common.Logging.ILogger logger)
15 {
16 _logger = logger;
17 }
18
19 public IDisposable? BeginScope<TState>(TState state) where TState : notnull
20 {
21 return default;
22 }
23
24 public bool IsEnabled(LogLevel level)
25 {
26 return _logger.IsEnabled(level.ToTeams());
27 }
28
29 public void Log<TState>(LogLevel level, EventId eventId, TState state, Exception? exception, Func<TState, Exception?, string> formatter)
30 {
31 _logger.Log(level.ToTeams(), formatter(state, exception));
32 }
33
34 public void Dispose()
35 {
36 // do nothing
37 }
38
39 public ILogger Create(string name)
40 {
41 return new TeamsLogger(_logger.Create(name));
42 }
43
44 public ILogger Child(string name)
45 {
46 return new TeamsLogger(_logger.Child(name));
47 }
48
49 public ILogger Peer(string name)
50 {
51 return new TeamsLogger(_logger.Peer(name));
52 }
53}