public Task DispatchEvent <TEventObject>(AuthJanitorSystemEvents systemEvent, string source, TEventObject eventObject) { _logger.LogInformation("Event: {SystemEvent} from {EventSource} (Object type: {EventObjectType})", systemEvent, source, typeof(TEventObject)); return(Task.WhenAll(_eventSinks.Select(s => s.LogEvent <TEventObject>(systemEvent, source, eventObject) ))); }
public async Task LogEvent <T>(AuthJanitorSystemEvents systemEvent, string source, T detailObject) { var htmlTemplate = "<h3>AuthJanitor Event! (" + systemEvent.ToString() + ")</h3><br />" + "<h6>Source: " + source + "</h6><br />" + "<em>" + DateTime.UtcNow + "</em>" + "<pre>" + JsonSerializer.Serialize(detailObject, new JsonSerializerOptions() { WriteIndented = true }) + "</pre>"; var nonHtmlTemplate = "AuthJanitor Event! (" + systemEvent.ToString() + ")" + Environment.NewLine + "Source: " + source + Environment.NewLine + "Object: " + Environment.NewLine + JsonSerializer.Serialize(detailObject, new JsonSerializerOptions() { WriteIndented = true }); if (Configuration.MinimumLogLevel > LogLevel.Information && systemEvent == AuthJanitorSystemEvents.AnomalousEventOccurred) { return; } else { await SendMail("AuthJanitor Event", nonHtmlTemplate, htmlTemplate); } }
public Task DispatchEvent(AuthJanitorSystemEvents systemEvent, string source, string eventDetails) { _logger.LogInformation("Event: {SystemEvent} from {EventSource} (Detail: {EventDetails})", systemEvent, source, eventDetails); return(Task.WhenAll(_eventSinks.Select(s => s.LogEvent(systemEvent, source, eventDetails) ))); }
public async Task LogEvent(AuthJanitorSystemEvents systemEvent, string source, string details) { var htmlTemplate = "<h3>AuthJanitor Event! (" + systemEvent.ToString() + ")</h3><br />" + "<h6>Source: " + source + "</h6><br />" + "<em>" + DateTime.UtcNow + "</em>" + "<pre>" + details + "</pre>"; var nonHtmlTemplate = "AuthJanitor Event! (" + systemEvent.ToString() + ")" + Environment.NewLine + "Source: " + source + Environment.NewLine + "Message: " + details + Environment.NewLine; if (Configuration.MinimumLogLevel > LogLevel.Information && systemEvent == AuthJanitorSystemEvents.AnomalousEventOccurred) { return; } else { await SendMail("AuthJanitor Event", nonHtmlTemplate, htmlTemplate); } }