public RetryingTransport(IEasyGelfLogger logger, ITransport transport, int retryCount, TimeSpan retryDelay) { this.logger = logger; this.transport = transport; this.retryCount = retryCount; this.retryDelay = retryDelay; }
protected override void InitializeTarget() { base.InitializeTarget(); logger = Verbose ? (IEasyGelfLogger)new VerboseLogger() : new SilentLogger(); var mainTransport = InitializeTransport(logger); transport = new BufferedTransport(logger, UseRetry ? new RetryingTransport(logger, mainTransport, RetryCount, RetryDelay) : mainTransport); }
protected override void InitializeTarget() { base.InitializeTarget(); logger = Verbose ? (IEasyGelfLogger) new VerboseLogger() : new SilentLogger(); var mainTransport = InitializeTransport(logger); transport = new BufferedTransport(logger, UseRetry ? new RetryingTransport(logger, mainTransport, RetryCount, RetryDelay) : mainTransport); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var configuration = new TcpTransportConfiguration { RemoteAddress = RemoteAddress, RemotePort = RemotePort, }; return new TcpTransport(configuration, new GelfMessageSerializer()); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var configuration = new TcpTransportConfiguration { RemoteAddress = RemoteAddress, RemotePort = RemotePort, }; return(new TcpTransport(configuration, new GelfMessageSerializer())); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var configuration = new HttpTransportConfiguration { Uri = Url, Timeout = 3000, Port = RemotePort }; return(new HttpTransport(configuration, new GelfMessageSerializer())); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var remoteIpAddress = Dns.GetHostAddresses(RemoteAddress) .Shuffle() .FirstOrDefault() ?? IPAddress.Loopback; var configuration = new TcpTransportConfiguration { Host = new IPEndPoint(remoteIpAddress, RemotePort), }; return new TcpTransport(configuration, new GelfMessageSerializer()); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var encoder = new CompositeEncoder(new GZipEncoder(), new ChunkingEncoder(new MessageBasedIdGenerator(), MessageSize.UdpMessageSize())); var configuration = new UdpTransportConfiguration { RemoteAddress = RemoteAddress, RemotePort = RemotePort }; return(new UdpTransport(configuration, encoder, new GelfMessageSerializer(logger))); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var remoteIpAddress = Dns.GetHostAddresses(RemoteAddress) .Shuffle() .FirstOrDefault() ?? IPAddress.Loopback; var encoder = new CompositeEncoder(new GZipEncoder(), new ChunkingEncoder(new MessageBasedIdGenerator(), MessageSize.UdpMessageSize())); var configuration = new UdpTransportConfiguration { Host = new IPEndPoint(remoteIpAddress, RemotePort), }; return new UdpTransport(configuration, encoder, new GelfMessageSerializer()); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var removeIpAddress = Dns.GetHostAddressesAsync(RemoteAddress).Result .Shuffle() .FirstOrDefault() ?? IPAddress.Loopback; var configuration = new TcpTransportConfiguration { Host = new IPEndPoint(removeIpAddress, RemotePort), }; return(new TcpTransport(configuration, new GelfMessageSerializer())); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var encoder = new CompositeEncoder(new GZipEncoder(), new ChunkingEncoder(new MessageBasedIdGenerator(), MessageSize.UdpMessageSize())); var removeIpAddress = Dns.GetHostAddressesAsync(RemoteAddress).Result .Shuffle() .FirstOrDefault() ?? IPAddress.Loopback; var configuration = new UdpTransportConfiguration { Host = new IPEndPoint(removeIpAddress, RemotePort) }; return new UdpTransport(configuration, encoder, new GelfMessageSerializer()); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var configuration = new TcpTransportConfiguration { RemoteAddress = RemoteAddress, RemotePort = RemotePort, Ssl = Ssl, Timeout = Timeout }; return(TcpTransportFactory.Produce(configuration)); }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var configuration = new AmqpTransportConfiguration { ConnectionUri = ConnectionUri, Exchange = Exchange, ExchangeType = ExchangeType, Queue = Queue, RoutingKey = RoutingKey, Persistent = Persistent, }; var encoder = new CompositeEncoder(new GZipEncoder(), new ChunkingEncoder(new MessageBasedIdGenerator(), MessageSize)); return new AmqpTransport(configuration, encoder, new GelfMessageSerializer()); }
public override void ActivateOptions() { base.ActivateOptions(); try { logger = Verbose ? (IEasyGelfLogger) new VerboseLogger() : new SilentLogger(); var mainTransport = InitializeTransport(logger); transport = new BufferedTransport(logger, UseRetry ? new RetryingTransport(logger, mainTransport, RetryCount, RetryDelay) : mainTransport); } catch (Exception exception) { logger.Error("Failed to create Transport", exception); } }
public override void ActivateOptions() { base.ActivateOptions(); try { logger = Verbose ? (IEasyGelfLogger)new VerboseLogger() : new SilentLogger(); var mainTransport = InitializeTransport(logger); transport = new BufferedTransport(logger, UseRetry ? new RetryingTransport(logger, mainTransport, RetryCount, RetryDelay) : mainTransport); } catch (Exception exception) { logger.Error("Failed to create Transport", exception); } }
protected override ITransport InitializeTransport(IEasyGelfLogger logger) { var encoder = new CompositeEncoder(new GZipEncoder(), new ChunkingEncoder(new MessageBasedIdGenerator(), MessageSize)); var configuration = new AmqpTransportConfiguration { ConnectionUri = ConnectionUri, Exchange = Exchange, ExchangeType = ExchangeType, Queue = Queue, RoutingKey = RoutingKey, Persistent = Persistent }; return(new AmqpTransport(configuration, encoder, new GelfMessageSerializer(logger))); }
public BufferedTransport(IEasyGelfLogger logger, ITransport transport) { new Thread(() => { var cancellationToken = cancellationTokenSource.Token; try { GelfMessage mesage; while (buffer.TryTake(out mesage, -1, cancellationToken)) { try { transport.Send(mesage); } catch (Exception exception) { logger.Error("Cannot send message", exception); } } } catch { GelfMessage message; while (buffer.TryTake(out message)) { try { transport.Send(message); } catch (Exception exception) { logger.Error("Cannot send message", exception); } } } transport.Close(); stopEvent.Set(); }) { IsBackground = true, Name = "EasyGelf Buffered Transport Thread" }.Start(); }
public BufferedTransport(IEasyGelfLogger logger, ITransport transport) { new Thread(() => { var cancellationToken = cancellationTokenSource.Token; try { GelfMessage mesage; while (buffer.TryTake(out mesage, -1, cancellationToken)) { try { transport.Send(mesage); } catch(Exception exception) { logger.Error("Cannot send message", exception); } } } catch { GelfMessage message; while (buffer.TryTake(out message)) { try { transport.Send(message); } catch (Exception exception) { logger.Error("Cannot send message", exception); } } } transport.Close(); stopEvent.Set(); }) {IsBackground = true, Name = "EasyGelf Buffered Transport Thread"}.Start(); }
protected abstract ITransport InitializeTransport(IEasyGelfLogger logger);
public static ITransport Produce(TcpTransportConfiguration configuration, IEasyGelfLogger logger) { return(configuration.Ssl ? new TcpTransport(configuration, new GelfMessageSerializer(logger), () => new TcpSslConnection(configuration)) : new TcpTransport(configuration, new GelfMessageSerializer(logger), () => new TcpConnection(configuration))); }
public override void ActivateOptions() { base.ActivateOptions(); try { logger = Verbose ? (IEasyGelfLogger)new VerboseLogger() : new SilentLogger(); var mainTransport = InitializeTransport(logger); transport = new BufferedTransport(logger, UseRetry ? new RetryingTransport(logger, mainTransport, RetryCount, RetryDelay) : mainTransport); customParams = new Dictionary<string, string>(); if (!string.IsNullOrEmpty(AdditionalFields)) ParseAdditionalFields(AdditionalFields); } catch (Exception exception) { logger.Error("Failed to create Transport", exception); } }
public GelfMessageSerializer(IEasyGelfLogger logger) { _logger = logger; }