public FileBuffer(ForwardOutputPlugin forwarder, BufferSettingsConfig settingsConfig = null, ILoggerFactory loggerFactory = null) : base(Path.Combine(settingsConfig?.BufferPath ?? "LogBuffer", forwarder.System), settingsConfig?.ReadLimit ?? 4 * 1024, settingsConfig?.MemoryBufferLimit, settingsConfig?.FileBufferLimit, settingsConfig?.FlushTimeout, settingsConfig?.ResendTimeout, settingsConfig?.ResendIntervals, settingsConfig?.WorkerCount ?? 1, settingsConfig?.Encoding, loggerFactory) { _forwarder = forwarder; }
public PluginFactory(IConfiguration configuration, ILogMetrics metrics, ILoggerFactory loggerFactory) { _metrics = metrics; _loggerFactory = loggerFactory; _logger = _loggerFactory.CreateLogger <PluginFactory>(); _logger.SLT00012_Debug_PluginFactory(); try { var outputPluginsSection = configuration.GetSection("OutputPlugins"); _bufferSettingsConfig = new BufferSettingsConfig(); var bufferConfiguration = configuration.GetSection("BufferSettings"); if (bufferConfiguration != null) { bufferConfiguration.Bind(_bufferSettingsConfig); } if (outputPluginsSection == null) { return; } foreach (var pluginSection in outputPluginsSection.GetChildren()) { var pluginName = pluginSection["Output"]; var systemName = pluginSection["System"]; if (systemName == null || pluginName == null) { continue; } _configs[systemName] = CreateOutputPlugin(pluginName, systemName, pluginSection); } } catch (Exception e) { _logger.SLT00014_Error_Plugin_not_created(e); throw e; } finally { _logger.SLT00011_Debug_PluginFactory_End(); } }
protected BufferedOutputPlugin( string systemName, ILogMetrics metrics, BufferSettingsConfig settingsConfig = null, ILoggerFactory loggerFactory = null) : base(Path.Combine(settingsConfig?.BufferPath ?? "LogBuffer", systemName), settingsConfig?.ReadLimit ?? 4 * 1024, settingsConfig?.MemoryBufferLimit, settingsConfig?.FileBufferLimit, settingsConfig?.FlushTimeout, settingsConfig?.ResendTimeout, settingsConfig?.ResendIntervals, settingsConfig?.WorkerCount ?? 1, settingsConfig?.Encoding, loggerFactory) { _logger = loggerFactory?.CreateLogger(typeof(BufferedOutputPlugin)) ?? NullLogger.Instance; _logger.SLT00017_Trace_BufferedOutputPlugin_BufferSettingsConfig_config(settingsConfig); _metrics = metrics; }