// // This method is invoked when the application has loaded and is ready to run. In this // method you should instantiate the window, load the UI into it and then make the window // visible. // // You have 17 seconds to return from this method, or iOS will terminate your application. // public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // create new BugsnagClient which will monitor for errors and send them to the server bugsnagClient = new BugsnagClient("MY-BUGSNAG-APIKEY-HERE") { DeviceId = GetInstalId(), ProjectNamespaces = new List <string> () { "Sample." }, ReleaseStage = "development", }; // You can associate errors with a specific user, if you want bugsnagClient.SetUser("1234", "*****@*****.**", "John Doe"); // create a new window instance based on the screen size window = new UIWindow(UIScreen.MainScreen.Bounds); // If you have defined a root view controller, set it here: window.RootViewController = new DemoViewController(); // make the window visible window.MakeKeyAndVisible(); return(true); }
public AppDomainInterceptor(BugsnagClient client) { if (client == null) { throw new ArgumentNullException("client"); } this.client = client; AppDomain.CurrentDomain.UnhandledException += HandleUnhandledException; }
public AndroidInterceptor(BugsnagClient client) { if (client == null) { throw new ArgumentNullException("client"); } this.client = client; AndroidEnvironment.UnhandledExceptionRaiser += HandleUnhandledManagedException; JavaExceptionHandler.Install(client); }
private Dictionary <string, object> DeserializePropertiers(string properties) { try { return(JsonUtils.DeserializeProperties(properties)); } catch (Exception ex) { BugsnagClient.Notify(ex); } return(new Dictionary <string, object>()); }
public static void Install(BugsnagClient client) { var current = Java.Lang.Thread.DefaultUncaughtExceptionHandler; var self = current as JavaExceptionHandler; if (self != null) { current = self.nextHandler; } Java.Lang.Thread.DefaultUncaughtExceptionHandler = new JavaExceptionHandler(client, current); }
private void SetupBugsnag() { if (bugsnagClient == null) { bugsnagClient = new BugsnagClient("testing", false) { DeviceId = Guid.NewGuid().ToString(), ProjectNamespaces = new List <string> () { "Bugsnag." }, ReleaseStage = "development", }; } bugsnagClient.Notifier.StoreOnly = true; }
private bool CheckErrors() { var errorsDir = BugsnagClient.MakeErrorCacheDir(this); var files = Directory.GetFiles(errorsDir); if (files.Length == 0) { return(false); } foreach (var file in files) { Log.Error(Tag, file); Log.Error(Tag, File.ReadAllText(file)); File.Delete(file); } return(true); }
private bool CheckErrors() { var errorsDir = BugsnagClient.MakeErrorCacheDir(); var files = Directory.GetFiles(errorsDir); if (files.Length == 0) { return(false); } foreach (var file in files) { Console.WriteLine("{0}:", file); Console.WriteLine(File.ReadAllText(file)); Console.WriteLine("==========="); File.Delete(file); } return(true); }
public override void OnCreate() { base.OnCreate(); if (bugsnagClient == null) { // create new BugsnagClient which will monitor for errors and send them to the server bugsnagClient = new BugsnagClient(this, "MY-BUGSNAG-APIKEY-HERE") { DeviceId = GetInstalId(), ProjectNamespaces = new List <string> () { "Sample." }, // By default Android library can guess the release stage between "production" and "development" // ReleaseStage = "development", }; } // You can associate errors with a specific user, if you want bugsnagClient.SetUser("1234", "*****@*****.**", "John Doe"); }