public async Task PublishAsync(VentMessage message) { foreach (var item in _targets) { await item.ProcessAsync(message); } }
protected MessageBuilder(IVentLog logger, VentMessage msg) { msg.Source = logger.Configuration.Source; Logger = logger; InnerMessage = msg; }
public ExceptionBuilder(IVentLog logger, VentMessage msg) : base(logger, msg) { if (logger.Configuration.EnvironmentProvider != null) { Assign(data => data.Environment = logger.Configuration.EnvironmentProvider()); } }
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); }
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); }
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); }
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); }
public abstract Task ProcessAsync(VentMessage message);
public abstract void Process(VentMessage message);
public CounterMetricBuilder(IVentLog logger, VentMessage msg) : base(logger, msg) { }
public void Publish(VentMessage message) { _targets.ForEach(item => item.Process(message)); }
public GaugeMetricBuilder(IVentLog logger, VentMessage msg) : base(logger, msg) { }
public EventBuilder(IVentLog logger, VentMessage msg) : base(logger, msg) { }