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);
                }
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 public Metadata (Metadata other) : base (other)
 {
 }