예제 #1
0
        public static ILoggingBuilder AddTelegram(this ILoggingBuilder builder, IConfiguration configuration)
        {
            var options = new TelegramLoggerOptions();

            configuration.GetSection("Logging:Telegram")?.Bind(options);

            return(builder.AddTelegram(options));
        }
예제 #2
0
        public static ILoggingBuilder AddTelegram(this ILoggingBuilder builder, Action <TelegramLoggerOptions> options)
        {
            var config = new TelegramLoggerOptions();

            options(config);

            return(builder.AddTelegram(config));
        }
예제 #3
0
        public static ILoggingBuilder AddTelegram(this ILoggingBuilder builder, TelegramLoggerOptions options)
        {
            var loggerProcessor = new TelegramLoggerProcessor(options);

            return(builder.AddProvider(new TelegramLoggerProvider(loggerProcessor, options)));
        }
예제 #4
0
 public TelegramLogger(string name, TelegramLoggerOptions options, TelegramLoggerProcessor loggingProcessor)
 {
     _loggingProcessor = loggingProcessor ?? throw new ArgumentNullException(nameof(loggingProcessor));
     _options          = options ?? throw new ArgumentNullException(nameof(options));
     _formatter        = new TelegramMessageFormatter(name, options);
 }
예제 #5
0
 public TelegramMessageFormatter(string name, TelegramLoggerOptions options)
 {
     _name    = name;
     _options = options;
 }