public ManagedShellLoggerProvider(IOptionsMonitor <ManagedShellFileLoggerOptions> options, Settings cairoSettings) : this(options.CurrentValue, cairoSettings)
 {
     // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/change-tokens
     _options             = options;
     _settingsChangeToken = _options.OnChange(settings =>
     {
         _settings = settings;
     });
 }
        public ManagedShellLoggerProvider(ManagedShellFileLoggerOptions settings, Settings cairoSettings)
        {
            _loggers           = new ConcurrentDictionary <string, Lazy <ManagedShellLogger> >();
            _settings          = settings;
            this.cairoSettings = cairoSettings;

            SetupLoggingSystem();

            SetupLoggingSeverity();

            cairoSettings.PropertyChanged += CairoSettings_PropertyChanged;

            _fileLog = new FileLog(_filename);
            _fileLog.Open();
            ShellLogger.Attach(_fileLog);
            ShellLogger.Attach(new ConsoleLog());
        }