private void LogToBugsnag(Level level, string tag, string message, Exception exc) { // Send warnings and errors to Bugsnag: if (level >= Level.Warning) { Bugsnag.Data.ErrorSeverity severity; switch (level) { case Level.Warning: severity = Bugsnag.Data.ErrorSeverity.Warning; break; case Level.Error: severity = Bugsnag.Data.ErrorSeverity.Error; break; default: severity = Bugsnag.Data.ErrorSeverity.Info; break; } var md = new Bugsnag.Data.Metadata(); md.AddToTab("Logger", "Tag", tag); md.AddToTab("Logger", "Message", message); var bugsnagClient = ServiceContainer.Resolve <IBugsnagClient> (); if (bugsnagClient != null) { bugsnagClient.Notify(exc, severity, md); } } }
public void Notify (Exception e, ErrorSeverity severity = ErrorSeverity.Error, Metadata extraMetadata = null) { if (!ShouldNotify) return; if (IgnoredExceptions != null && IgnoredExceptions.Contains (e.GetType ())) return; var md = new Metadata (metadata); if (extraMetadata != null) { md.Merge (extraMetadata); } var ev = new Event () { User = userInfo, App = GetAppInfo (), AppState = GetAppState (), System = GetSystemInfo (), SystemState = GetSystemState (), Context = Context, Severity = severity, Exceptions = ConvertExceptionTree (e), Metadata = md, }; SendEvent (ev); }
public Metadata (Metadata other) : base (other) { }