Beispiel #1
0
 public async Task PublishAsync(VentMessage message)
 {
     foreach (var item in _targets)
     {
         await item.ProcessAsync(message);
     }
 }
Beispiel #2
0
        protected MessageBuilder(IVentLog logger, VentMessage msg)
        {
            msg.Source = logger.Configuration.Source;

            Logger       = logger;
            InnerMessage = msg;
        }
Beispiel #3
0
 public ExceptionBuilder(IVentLog logger, VentMessage msg)
     : base(logger, msg)
 {
     if (logger.Configuration.EnvironmentProvider != null)
     {
         Assign(data => data.Environment = logger.Configuration.EnvironmentProvider());
     }
 }
Beispiel #4
0
        protected VentMessage CreateMessage(string name, string type)
        {
            var metricMsg = new VentMessage
            {
                Name        = name,
                MessageType = type,
                Timestamp   = DateTime.Now
            };

            return(metricMsg);
        }
        public byte[] Serialize(VentMessage msg)
        {
            using (var stream = new MemoryStream())
            {
                var packer = Packer.Create(stream);
                packer.Pack(msg.Source);
                packer.Pack(msg.Name);
                packer.Pack(msg.MessageType);
                packer.Pack(msg.Timestamp);

                return(stream.ToArray());
            }
        }
        public void TestSerialize()
        {
            var msg = new VentMessage
            {
                Source      = "web",
                Name        = "test",
                MessageType = MessageType.Event,
                Timestamp   = DateTime.Now
            };

            var serializer = new MessagePackSerializer();
            var data       = serializer.Serialize(msg);

            var xx = serializer.Deserialize(data);
        }
Beispiel #7
0
        protected EventBuilder CreateEvent(string level, string name)
        {
            var eventMsg = new VentMessage
            {
                Name        = name,
                MessageType = MessageType.Event,
                Timestamp   = DateTime.Now
            };

            var builder = new EventBuilder(_logger, eventMsg);

            builder.Level(level);

            return(builder);
        }
Beispiel #8
0
        public ExceptionBuilder CreateException(Exception ex)
        {
            var exceptionType = ex.GetType();

            var exceptionMsg = new VentMessage
            {
                Name        = exceptionType.Name,
                MessageType = MessageType.Exception,
                Timestamp   = DateTime.Now
            };

            var builder = new ExceptionBuilder(_logger, exceptionMsg);

            builder.Exception(ex);

            return(builder);
        }
Beispiel #9
0
        protected EventBaseBuilder(IVentLog logger, VentMessage msg)
            : base(logger, msg)
        {
            if (logger.Configuration.MachineNameProvider != null)
            {
                MachineName(logger.Configuration.MachineNameProvider());
            }

            if (logger.Configuration.UserNameProvider != null)
            {
                UserName(logger.Configuration.UserNameProvider());
            }

            if (logger.Configuration.VersionProvider != null)
            {
                Version(logger.Configuration.VersionProvider());
            }
        }
        public VentMessage Deserialize(byte[] data)
        {
            var msg = new VentMessage();

            using (var stream = new MemoryStream(data))
            {
                var unpacker = Unpacker.Create(stream);

                unpacker.Read();
                msg.Source = unpacker.Unpack <string>();

                unpacker.Read();
                msg.Name = unpacker.Unpack <string>();

                unpacker.Read();
                msg.MessageType = unpacker.Unpack <string>();

                unpacker.Read();
                msg.Timestamp = unpacker.Unpack <DateTime>().ToLocalTime();
            }

            return(msg);
        }
Beispiel #11
0
 public abstract Task ProcessAsync(VentMessage message);
Beispiel #12
0
 public abstract void Process(VentMessage message);
 public CounterMetricBuilder(IVentLog logger, VentMessage msg)
     : base(logger, msg)
 {
 }
Beispiel #14
0
 public void Publish(VentMessage message)
 {
     _targets.ForEach(item => item.Process(message));
 }
Beispiel #15
0
 public GaugeMetricBuilder(IVentLog logger, VentMessage msg)
     : base(logger, msg)
 {
 }
Beispiel #16
0
 public EventBuilder(IVentLog logger, VentMessage msg)
     : base(logger, msg)
 {
 }