/// <summary> /// Creates an instance of the Splunk TCP Sink. /// </summary> /// <param name="connectionInfo">Connection info used for connecting against Splunk.</param> /// <param name="formatter">Custom formatter to use if you e.g. do not want to use the JsonFormatter.</param> public TcpSink( SplunkTcpSinkConnectionInfo connectionInfo, ITextFormatter formatter) { _writer = CreateSocketWriter(connectionInfo); _formatter = formatter; }
/// <summary> /// Creates an instance of the Splunk TCP Sink. /// </summary> /// <param name="connectionInfo">Connection info used for connecting against Splunk.</param> /// <param name="formatProvider">Optional format provider</param> /// <param name="renderTemplate">If true, the message template will be rendered</param> public TcpSink( SplunkTcpSinkConnectionInfo connectionInfo, IFormatProvider formatProvider = null, bool renderTemplate = true) { _writer = CreateSocketWriter(connectionInfo); _formatter = CreateDefaultFormatter(formatProvider, renderTemplate); }
/// <summary> /// Creates an instance of the Splunk TCP Sink /// </summary> /// <param name="hostAddress">The Splunk Host</param> /// <param name="port">The UDP port configured in Splunk</param> /// <param name="formatProvider">Optional format provider</param> public SplunkViaTcpSink( IPAddress hostAddress, int port, IFormatProvider formatProvider = null) { var reconnectionPolicy = new ExponentialBackoffTcpReconnectionPolicy(); _writer = new TcpSocketWriter(hostAddress, port, reconnectionPolicy, 10000); _jsonFormatter = new JsonFormatter(renderMessage: true, formatProvider: formatProvider); }
/// <inheritdoc/> protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { _writer?.Dispose(); _writer = null; } disposedValue = true; } }
/// <summary> /// Creates an instance of the Splunk TCP Sink /// </summary> /// <param name="host">The Splunk Host</param> /// <param name="port">The UDP port configured in Splunk</param> /// <param name="formatProvider">Optional format provider</param> /// <param name="renderTemplate">If true, the message template will be rendered</param> public SplunkViaTcpSink( string host, int port, IFormatProvider formatProvider = null, bool renderTemplate = true) { var reconnectionPolicy = new ExponentialBackoffTcpReconnectionPolicy(); var ipAddress = IPAddress.Parse(host); _writer = new TcpSocketWriter(ipAddress, port, reconnectionPolicy, 10000); _jsonFormatter = new SplunkJsonFormatter(renderMessage: true, formatProvider: formatProvider, renderTemplate: renderTemplate); }
/// <inheritdoc/> public void Dispose() { _writer?.Dispose(); _writer = null; }