public void Publish <T>(string messageType, string messageAction, T message) { InitializePublisher(); if (!messagePublisherActive) { return; } var properties = IstaMessageProperties.CreatePersistent(messageType, messageAction); properties.AppId = miramarIdentifier ?? "unknown"; messagePublisher.Publish(monitorExchange, message, properties); }
protected override void Write(LogEventInfo logEvent) { if (!messagePublisherIsActive) { return; } var miramarIdentifier = ConfigurationManager.AppSettings["MiramarIdentifier"]; var monitorExchange = ConfigurationManager.AppSettings["RabbitMqMonitorExchange"]; if (string.IsNullOrWhiteSpace(monitorExchange)) { return; } var properties = logEvent.Properties; var messageType = "info"; if (properties.ContainsKey("MessageType")) { messageType = properties["MessageType"].ToString(); } var message = Layout.Render(logEvent); var messagePayload = new { clientId = properties["ClientId"], taskId = properties["TaskId"], type = messageType, date = DateTime.Now, message, }; var messageProperties = IstaMessageProperties.CreatePersistent("message", "message"); messageProperties.AppId = miramarIdentifier ?? "unknown"; messagePublisher.Publish(monitorExchange, messagePayload, messageProperties); }