/// <summary> /// Logs an error. /// </summary> /// <param name="message">The message.</param> /// <param name="ex">An exception.</param> public static void LogError(string message, Exception ex) { lock (_eventLog) { if (ex is System.Threading.ThreadAbortException) { _eventLog.WriteWarning("Task scheduling and execution aborted."); } else { var msg = string.Format("An error ocurred during task execution:\r\n\r\n{0}\r\n\r\n{1}: {2}\r\n\r\nStacktrace:\r\n{3}", message, ex.GetType().Name, ex.Message, ex.StackTrace); _eventLog.WriteError(msg); } } }
/// <summary> /// Writes the specified audit log entry. /// </summary> /// <param name="entryData">The entry data.</param> /// <exception cref="System.ArgumentNullException">entryData</exception> public void Write(IAuditLogEntryData entryData) { if (entryData == null) { throw new ArgumentNullException(nameof(entryData)); } // Writes an entry to the event log var eventLogMessage = new StringBuilder(); eventLogMessage.AppendLine($"Audit log entry. Type: '{entryData.AuditLogEntryType.Name}'"); eventLogMessage.AppendLine($"AuditLogMessage: '{entryData.Message}'"); eventLogMessage.AppendLine($"Success: '{entryData.Success}'"); eventLogMessage.AppendLine($"Severity: '{entryData.SeverityEnum}'"); eventLogMessage.AppendLine($"UserName: '******'"); eventLogMessage.AppendLine($"CreatedDate: '{entryData.CreatedDate.ToLocalTime().ToString("o")}'"); if (entryData.Parameters.Count > 0) { eventLogMessage.AppendLine("Parameters:"); foreach (var kvp in entryData.Parameters) { eventLogMessage.AppendLine($"{kvp.Key}: '{kvp.Value}'"); } } switch (entryData.SeverityEnum) { case AuditLogSeverityEnum_Enumeration.AuditLogError: _eventLog.WriteError(eventLogMessage.ToString()); break; case AuditLogSeverityEnum_Enumeration.AuditLogInformation: _eventLog.WriteInformation(eventLogMessage.ToString()); break; case AuditLogSeverityEnum_Enumeration.AuditLogWarning: _eventLog.WriteWarning(eventLogMessage.ToString()); break; } }
/// <summary> /// Runs the action. /// </summary> /// <param name="action">The action.</param> /// <param name="cancellationToken">The cancellation token.</param> private void RunAction(Action action, CancellationToken cancellationToken) { try { if (cancellationToken.IsCancellationRequested) { return; } action(); } catch (Exception ex) { string msg = "An error occured running rendezvous point action. Id:{0}, Error:{1}."; if (_eventLog != null) { _eventLog.WriteWarning(msg, _id, ex.ToString()); } else { Trace.TraceWarning(msg, _id, ex); } } }
/// <summary> /// Writes the warning. /// </summary> /// <param name="message">The message.</param> /// <param name="args">The arguments.</param> public void WriteWarning(string message, params object[] args) { _view.WriteWarning(message, args); }