// Logs a message to the event log. internal static void LogMsg(Logger logger, ThreadData threadData, TraceLevel msgLevel, string msg) { lock (_eventLocker) { string indent = new string(' ', 3 * threadData.EventLogState.StackDepth); ++_lineCount; string output = string.Format(_internalEventFormatString, _lineCount, Enum.GetName(typeof(TraceLevel), msgLevel), logger.Name, threadData.TracerXID, threadData.Name ?? "<null>", DateTime.Now, threadData.EventLogState.CurrentMethod ?? "<null>", indent, msg ?? "<null>" ); EventLogEntryType eventType = EventLogEntryType.Information; EventTypeMap.TryGetValue(msgLevel, out eventType); ushort eventId = 10999; EventIdMap.TryGetValue(msgLevel, out eventId); EventLog.WriteEntry(output, eventType, eventId); } }
static EventData CreateEventData(IDomainEvent domainEvent) { var domainEventType = domainEvent.GetType(); var eventMetadata = new EventMetadata(domainEventType?.FullName ?? throw new Exception($"Type fullname is null for domain event {domainEvent.GetType()}")) { CorrelationId = Activity.Current?.Id ?? "" }; return(new EventData( Uuid.NewUuid(), EventTypeMap.GetTypeName(domainEvent), JsonSerializer.SerializeToUtf8Bytes(domainEvent, domainEventType), JsonSerializer.SerializeToUtf8Bytes(eventMetadata) )); } }