public void RaiseAlert(ApplicationAlertKind kind, params object[] details) { BeginLogging(); ExpireDups(); var jsonDetail = JsonConvert.SerializeObject(details); var alert = new NodeAlert { Id = Guid.NewGuid().ToString(), ComponentOrigin = _reg.ComponentType, Detail = jsonDetail, EventTime = DateTime.UtcNow, Handled = false, Kind = kind }; var hash = AlertHash(alert); if (!_duplicateTracking.ContainsKey(hash)) { _duplicateTracking.TryAdd(hash, DateTime.UtcNow); _alerts.Enqueue(alert); _log.ErrorFormat("Application alert: {0}", jsonDetail); System.Diagnostics.Debug.WriteLine(jsonDetail); } else { _log.DebugFormat("app alert {0} is duplicate, discarding", hash); } }
public void RaiseAlert(ApplicationAlertKind kind, params object[] details) { _publisher.Send(new AlertMsg { Kind = kind, Details = details.Select(dt => dt.ToString()).ToArray() }, _route); }
public void RaiseAlert(ApplicationAlertKind kind, params object[] details) { var appLog = new System.Diagnostics.EventLog { Source = Process.GetCurrentProcess().ProcessName }; var jsonDetail = JsonConvert.SerializeObject(details); var strEv = string.Format("Operational Event {0}:\n{1}", kind, jsonDetail); appLog.WriteEntry(strEv); }
public void RaiseAlert(ApplicationAlertKind kind, params object[] details) { try { var jsonDetail = JsonConvert.SerializeObject(details); var ol = new AlertsLog { Kind = kind, Detail = jsonDetail, MachineOrigin = Environment.MachineName, ComponentOrigin = _componentOrigin ?? "Unknown" }; var strEv = string.Format("Operational Event {0}:\n{1}", ol.Kind, ol.Detail); // record to table. try { using (var ds = DocumentStoreLocator.ResolveOrRoot(CommonConfiguration.CoreDatabaseRoute)) { ds.Store(ol); ds.SaveChanges(); } } catch { } // log it. try { var log = LogManager.GetLogger(GetType()); log.Fatal(strEv); } catch { } } catch // could be in adverse conditions. { } }
public void RaiseAlert(ApplicationAlertKind kind, params object[] details) { _sink.RaiseAlert(kind, details); }