/// <summary> /// Publishes the specified ex. /// </summary> /// <param name="ex">The ex.</param> /// <param name="additionalParameters">The additional parameters.</param> static public void Publish(Exception ex, NameValueCollection additionalParameters) { try { // add time stamps var now = DateTime.UtcNow; additionalParameters = additionalParameters ?? new NameValueCollection(); additionalParameters.Add("Local Time", now.ToString("yyyy/MM/dd, HH:mm:ss.fff")); additionalParameters.Add("UTC", now.ToUniversalTime().ToString("yyyy/MM/dd, HH:mm:ss.fff")); if (!TimeEventTracker.CanEvent(ex.Message, _eventTracking, out int occurrences)) { return; } additionalParameters = additionalParameters ?? new NameValueCollection(); if (occurrences != 0) { additionalParameters = additionalParameters ?? new NameValueCollection(); additionalParameters["Occurrences"] = occurrences.ToString("N0"); } var message = ExceptionFormatter.ConstructMessage(ex, additionalParameters); _logTextFileWriter.WriteLine(message); } catch (Exception) { // nothing we can do just swallow } }
/// <summary> /// Publishes the specified exception. /// </summary> /// <param name="exception">The exception.</param> /// <param name="additionalParameters">The additional parameters.</param> public void Publish(Exception exception, NameValueCollection additionalParameters) { try { lock (this) { if (_logTextFileWriter != null) { var entry = ExceptionFormatter.ConstructMessage(exception, additionalParameters); _logTextFileWriter.WriteLine($"{entry}{Environment.NewLine}{_separator}{Environment.NewLine}"); } } } catch (Exception) { } }