public GenericAuditHandler(IBus bus, GlobalEventHandler broadcaster, IDocumentStore store, EventLogMappings mappings)
 {
     this.bus         = bus;
     this.broadcaster = broadcaster;
     this.store       = store;
     this.mappings    = mappings;
 }
Beispiel #2
0
        public void Handle(IEvent message)
        {
            Logger.InfoFormat("Event: {0} emitted", message.GetType().Name);

            //to prevent a infinite loop
            if (message is EventLogItemAdded)
            {
                return;
            }
            if (!EventLogMappings.HasMapping(message))
            {
                return;
            }
            var logItem = EventLogMappings.ApplyMapping(message);

            Session.Store(logItem);

            Bus.Publish <EventLogItemAdded>(m =>
            {
                m.RaisedAt    = logItem.RaisedAt;
                m.Severity    = logItem.Severity;
                m.Description = logItem.Description;
                m.Id          = logItem.Id;
                m.Category    = logItem.Category;
                m.RelatedTo   = logItem.RelatedTo;
            });
        }
Beispiel #3
0
        public void Init()
        {
            var temp = new EventLogMappings();

            Configure.Instance.ForAllTypes <IEventLogMappingDefinition>(t =>
            {
                if (t.BaseType == null)
                {
                    return;
                }

                var args = t.BaseType.GetGenericArguments();
                if (args.Count() == 1)
                {
                    temp.mappings.Add(args.Single(), t);
                }
            });

            Configure.Instance.Configurer.RegisterSingleton <EventLogMappings>(temp);
        }
        public void Init()
        {
            var temp = new EventLogMappings();

            Configure.Instance.ForAllTypes<IEventLogMappingDefinition>(t =>
            {
                if (t.BaseType == null)
                {
                    return;
                }

                var args = t.BaseType.GetGenericArguments();
                if (args.Count() == 1)
                {
                    temp.mappings.Add(args.Single(), t);
                }
            });

            Configure.Instance.Configurer.RegisterSingleton<EventLogMappings>(temp);
        }
Beispiel #5
0
 public AuditEventLogWriter(GlobalEventHandler broadcaster, IDocumentStore store, EventLogMappings mappings)
 {
     this.broadcaster = broadcaster;
     this.store       = store;
     this.mappings    = mappings;
 }