microsoft/teams.net

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
6594a29aa91c928c547a8821d305758bc8d340ed

Branches

Tags

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

Clone

HTTPS

Download ZIP

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

31lines · modepreview

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Configuration;

namespace Microsoft.Teams.Extensions.Logging;

public static class LoggingBuilderExtensions
{
    public static ILoggingBuilder AddTeams(this ILoggingBuilder builder)
    {
        builder.AddConfiguration();
        builder.Services.AddSingleton<Common.Logging.ILogger, Common.Logging.ConsoleLogger>();
        builder.Services.AddSingleton<ILogger, TeamsLogger>();
        builder.Services.AddSingleton<ILoggerProvider, TeamsLoggerProvider>();
        LoggerProviderOptions.RegisterProviderOptions<Common.Logging.LoggingSettings, TeamsLoggerProvider>(builder.Services);
        return builder;
    }

    public static ILoggingBuilder AddTeams(this ILoggingBuilder builder, Common.Logging.ILogger logger)
    {
        builder.AddConfiguration();
        builder.Services.AddSingleton(logger);
        builder.Services.AddSingleton<ILogger, TeamsLogger>();
        builder.Services.AddSingleton<ILoggerProvider, TeamsLoggerProvider>();
        LoggerProviderOptions.RegisterProviderOptions<Common.Logging.LoggingSettings, TeamsLoggerProvider>(builder.Services);
        return builder;
    }
}