public TelegramLoggerProvider(IOptionsMonitor <TelegramLoggerOptions> telegramLoggerOptions)
        {
            _options = options;
            _loggers = new ConcurrentDictionary <string, TelegramLogger>();

            ReloadLoggerOptions(options.CurrentValue);
            _optionsReloadToken = _options.OnChange(ReloadLoggerOptions);

            _messageQueue = new TelegramLoggerProcessor();
            //if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
            //{
            //    _messageQueue.Console = new WindowsLogConsole();
            //    _messageQueue.ErrorConsole = new WindowsLogConsole(stdErr: true);
            //}
            //else
            //{
            //    _messageQueue.Console = new AnsiLogConsole(new AnsiSystemConsole());
            //    _messageQueue.ErrorConsole = new AnsiLogConsole(new AnsiSystemConsole(stdErr: true));
            //}
        }
Esempio n. 2
0
 internal TelegramLogger(string name, TelegramLoggerProcessor loggerProcessor)
 {
     _name           = name ?? throw new ArgumentNullException(nameof(name));
     _queueProcessor = loggerProcessor;
 }