Exemplo n.º 1
0
 /// <summary>
 /// Reconfigure database logger service
 /// </summary>
 /// <param name="options">Database logger configuration</param>
 private void ReloadOptions(DatabaseLoggerOptions options)
 {
     _logger.LogInformation($"{nameof(DatabaseLoggerService)} is reloading its configuration, interval changing to {options.SyncInterval} seconds. [{options}]");
     _options = options;
     _timer?.Change(TimeSpan.Zero,
                    TimeSpan.FromSeconds(_options.SyncInterval));
 }
 /// <summary>
 /// Constructor for manual provider initialization
 /// </summary>
 /// <param name="logCollector">Logging collector object</param>
 /// <param name="options">Logger configuration</param>
 /// <param name="filter">Log sources filter function</param>
 public DatabaseLoggerProvider(DatabaseLoggerCollector logCollector, DatabaseLoggerOptions options,
                               Func <string, LogLevel, bool>?filter = null)
 {
     _filter       = filter;
     _logCollector = logCollector;
     _options      = options;
 }
 private void ReloadOptions(DatabaseLoggerOptions options)
 {
     _options = options;
     foreach (var logger in _loggers.Values)
     {
         logger.LoadOptions(options);
     }
 }
 /// <summary>
 /// Constructor for automatic provider initialization
 /// </summary>
 /// <param name="logCollector">Log collector object</param>
 /// <param name="optionsMonitor">Configuration monitor object</param>
 public DatabaseLoggerProvider(DatabaseLoggerCollector logCollector,
                               IOptionsMonitor <DatabaseLoggerOptions> optionsMonitor)
 {
     _filter             = (s, l) => true;
     _logCollector       = logCollector;
     _options            = optionsMonitor.CurrentValue;
     _optionsReloadToken = optionsMonitor.OnChange(ReloadOptions);
 }
Exemplo n.º 5
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="logger">ILogger for logging service events</param>
 /// <param name="optionsMonitor">Database logger configuration monitor</param>
 /// <param name="serviceProvider">Dependency injection service provider</param>
 public DatabaseLoggerService(ILogger <DatabaseLoggerService> logger,
                              IOptionsMonitor <DatabaseLoggerOptions> optionsMonitor,
                              IServiceProvider serviceProvider)
 {
     _logger             = logger;
     _options            = optionsMonitor.CurrentValue;
     _serviceProvider    = serviceProvider;
     _optionsReloadToken = optionsMonitor.OnChange(ReloadOptions);
 }