コード例 #1
0
 /// <summary>Builds a new instance of the SyslogTarget class</summary>
 public SyslogTarget()
 {
     Enforcement                      = new EnforcementConfig();
     MessageCreation                  = new MessageBuilderConfig();
     MessageSend                      = new MessageTransmitterConfig();
     Enforcement.PropertyChanged     += OnConfigurationChanges;
     MessageCreation.PropertyChanged += OnConfigurationChanges;
     MessageSend.PropertyChanged     += OnConfigurationChanges;
 }
コード例 #2
0
 /// <summary>Builds a new instance of the SyslogTarget class</summary>
 public SyslogTarget()
 {
     Enforcement     = new EnforcementConfig();
     MessageCreation = new MessageBuilderConfig();
     MessageSend     = new MessageTransmitterConfig();
 }
コード例 #3
0
 public static MessageTransmitter FromConfig(MessageTransmitterConfig messageTransmitterConfig)
 {
     return(TransmitterFactory[messageTransmitterConfig.Protocol](messageTransmitterConfig));
 }
コード例 #4
0
 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.Run(() => ProcessQueueAsync(messageBuilder));
 }
コード例 #5
0
 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);
     flushCompletionMarker = new LogEventInfo(LogLevel.Off, string.Empty, nameof(flushCompletionMarker));
     Task.Run(() => ProcessQueueAsync(messageBuilder));
     processWithTimeoutAction = (asyncLogEventInfo, timeout) => Enqueue(asyncLogEventInfo, timeout);
     discardAction            = asyncLogEventInfo => asyncLogEventInfo.Continuation(new InvalidOperationException($"Enqueue skipped"));
 }