Example #1
0
 public RetryingTransport(IEasyGelfLogger logger, ITransport transport, int retryCount, TimeSpan retryDelay)
 {
     this.logger     = logger;
     this.transport  = transport;
     this.retryCount = retryCount;
     this.retryDelay = retryDelay;
 }
Example #2
0
 public RetryingTransport(IEasyGelfLogger logger, ITransport transport, int retryCount, TimeSpan retryDelay)
 {
     this.logger = logger;
     this.transport = transport;
     this.retryCount = retryCount;
     this.retryDelay = retryDelay;
 }
Example #3
0
 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);
 }
Example #4
0
        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);
        }
Example #5
0
		protected override ITransport InitializeTransport(IEasyGelfLogger logger)
		{
			var configuration = new TcpTransportConfiguration
			{
				RemoteAddress = RemoteAddress,
				RemotePort = RemotePort,
			};
			return new TcpTransport(configuration, new GelfMessageSerializer());
		}
Example #6
0
        protected override ITransport InitializeTransport(IEasyGelfLogger logger)
        {
            var configuration = new TcpTransportConfiguration
            {
                RemoteAddress = RemoteAddress,
                RemotePort    = RemotePort,
            };

            return(new TcpTransport(configuration, new GelfMessageSerializer()));
        }
Example #7
0
        protected override ITransport InitializeTransport(IEasyGelfLogger logger)
        {
            var configuration = new HttpTransportConfiguration
            {
                Uri     = Url,
                Timeout = 3000,
                Port    = RemotePort
            };

            return(new HttpTransport(configuration, new GelfMessageSerializer()));
        }
Example #8
0
 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());
 }
Example #9
0
        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)));
        }
Example #10
0
 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());
 }
Example #11
0
        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()));
        }
Example #12
0
 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());
 }
Example #13
0
        protected override ITransport InitializeTransport(IEasyGelfLogger logger)
        {
            var configuration = new TcpTransportConfiguration
            {
                RemoteAddress = RemoteAddress,
                RemotePort    = RemotePort,
                Ssl           = Ssl,
                Timeout       = Timeout
            };

            return(TcpTransportFactory.Produce(configuration));
        }
Example #14
0
 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());
 }
Example #15
0
 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);
     }
 }
Example #16
0
 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);
     }
 }
Example #17
0
        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)));
        }
Example #18
0
 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();
 }
Example #19
0
 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();
 }
Example #20
0
 protected abstract ITransport InitializeTransport(IEasyGelfLogger logger);
Example #21
0
 protected abstract ITransport InitializeTransport(IEasyGelfLogger logger);
Example #22
0
 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)));
 }
Example #23
0
        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;
 }