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)
                                            )));
 }
示例#2
0
        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)
                                            )));
 }
示例#4
0
        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);
            }
        }