private void UpdateOptions(BatchingLoggerOptions options) { var oldIsEnabled = IsEnabled; IsEnabled = options.IsEnabled; if (oldIsEnabled != IsEnabled) { if (IsEnabled) { Start(); } else { Stop(); } } }
protected BatchingLoggerProvider(BatchingLoggerOptions options) { // NOTE: Only IsEnabled is monitored var loggerOptions = options; if (loggerOptions.BatchSize <= 0) { throw new ArgumentOutOfRangeException(nameof(loggerOptions.BatchSize), $"{nameof(loggerOptions.BatchSize)} must be a positive number."); } if (loggerOptions.FlushPeriod <= TimeSpan.Zero) { throw new ArgumentOutOfRangeException(nameof(loggerOptions.FlushPeriod), $"{nameof(loggerOptions.FlushPeriod)} must be longer than zero."); } _interval = loggerOptions.FlushPeriod; _batchSize = loggerOptions.BatchSize; _queueSize = loggerOptions.BackgroundQueueSize; }