public AsyncLogger(Layout loggingLayout, EnforcementConfig enforcementConfig, MessageBuilder messageBuilder, MessageTransmitterConfig messageTransmitterConfig) { layout = loggingLayout; cts = new CancellationTokenSource(); token = cts.Token; throttling = Throttling.FromConfig(enforcementConfig.Throttling); queue = NewBlockingCollection(); buffer = new ByteArray(enforcementConfig.TruncateMessageTo); messageTransmitter = MessageTransmitter.FromConfig(messageTransmitterConfig); Task.Factory.StartNew(() => ProcessQueueAsync(messageBuilder)); }
/// <summary>Builds a new instance of the SyslogTarget class</summary> public SyslogTarget() { Enforcement = new EnforcementConfig(); MessageCreation = new MessageBuilderConfig(); MessageSend = new MessageTransmitterConfig(); }
public static MessageTransmitter FromConfig(MessageTransmitterConfig messageTransmitterConfig) { return TransmitterFactory[messageTransmitterConfig.Protocol](messageTransmitterConfig); }