public bool Announce(IMessage message, IMessageSettingsOut messageSettings) { _processor.Type = messageSettings.MessageSettings["produce.ontopic"]; var valueToSend = JsonHelperSerialiser.ToJson(message, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); var deliveryReport = producer.ProduceAsync(messageSettings.MessageSettings["produce.ontopic"], null, valueToSend); var result = deliveryReport.ConfigureAwait(false).GetAwaiter().GetResult(); // synchronously waits for message to be produced. if (result.IsSuccess()) { producer.Flush(TimeSpan.FromSeconds(10)); var messageToLog = new AllsaintsMessageLogger.LogMessage() { Id = message.Id, DateStampUtc = message.DateStampUtc, IsTest = message.IsTest, Message = message, }; _messageLogger.LogMessage(EventTypes.Sent, _processor, messageToLog); return(true); } else { OnError(result.Error.ToString()); return(false); } }
public void LogFlow(string appID, int processId, IMessage message, string eventType, EntityTypeEnum messageType) { var messageTypeTest = message.GetType(); var objectAsString = JsonHelperSerialiser.ToJson(message, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); GlobalDiagnosticsContext.Set("entityId", message.Id.ToString()); GlobalDiagnosticsContext.Set("entityType", (int)messageType); GlobalDiagnosticsContext.Set("event", eventType); GlobalDiagnosticsContext.Set("processId", processId); GlobalDiagnosticsContext.Set("processorId", "ConsoleAPP " + appID); GlobalDiagnosticsContext.Set("message", objectAsString); GlobalDiagnosticsContext.Set("isTest", message.IsTest ? 1 : 0); logger.LogDebug($"Flow processing log"); }
public void LogMessage(EventId eventId, IProcessor processor, ILogMessage message) { var messageType = message.Message.GetType().ToString(); var objectAsString = JsonHelperSerialiser.ToJson(message.Message, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); GlobalDiagnosticsContext.Set("entityId", message.Id.ToString()); GlobalDiagnosticsContext.Set("entityType", messageType); GlobalDiagnosticsContext.Set("event", eventId); GlobalDiagnosticsContext.Set("processId", processor.Type); GlobalDiagnosticsContext.Set("processorId", processor.Id); GlobalDiagnosticsContext.Set("processor", String.Format("ConsoleAPP {0} IP: {1}", processor.HostName, processor.IpAddress)); GlobalDiagnosticsContext.Set("message", objectAsString); GlobalDiagnosticsContext.Set("isTest", message.IsTest ? 1 : 0); logger.LogDebug(eventId, $"Flow processing log"); }
private void Consumer_OnMessage(object sender, Message <string, string> msg) { var messageObject = JsonHelperSerialiser.FromJson <T>(msg.Value, JsonHelperSerialiserSettings.CamelCaseSerialiseSettings); OnMessage(messageObject); var committedOffsets = consumer.CommitAsync(msg).ConfigureAwait(false).GetAwaiter().GetResult(); // synchronously waits for message to be produced. var messageToLog = new AllsaintsMessageLogger.LogMessage() { Id = messageObject.Id, DateStampUtc = messageObject.DateStampUtc, IsTest = messageObject.IsTest, Message = messageObject, }; _messageLogger.LogMessage(EventTypes.Reveived, _processor, messageToLog); }