Acropolis.Foundation.EventSourcing.Logging.LogManager.LogEvent C# (CSharp) Méthode

LogEvent() public méthode

public LogEvent ( Event e ) : void
e Event
Résultat void
        public void LogEvent(Event e)
        {
            try
            {
                // Initialize command TypeName if not already initialized
                if (String.IsNullOrEmpty(e.Metadata.TypeName))
                    e.Metadata.TypeName = e.GetTypeName();

                var eventDocument = e.ToBsonDocument();

                // Removing _t element (generated by mongodb driver)
                eventDocument.Remove("_t");

                var eventRecord = new BsonDocument
                {
                    { "Event", eventDocument },
                    { "Handlers", new BsonArray() },
                };

                var query = Query.EQ("_id", e.Metadata.CommandId);
                var update = Update.Push("Events", eventRecord);
                Write.Logs.Update(query, update);
            }
            catch (Exception)
            {
                // Catch all errors because logging should not throw errors if unsuccessful
            }
        }