ErrLog.IO and Xamarin.Forms

Xamarin.Forms is a .Net framework used for building cross-platform applications for iOS, Android and Windows (UWP). ErrLog is fully supported in Xamarin.Forms, and is a great way to take more control over your exception loggins when developing cross-platform applications.

These examples assume you have a typical Shared Project containing your shared class library and platform-specific sub-projects.

Xamarin.Forms project structure


Installing the Nuget Package into your Xamarin.Forms Project

Use Nuget or an equivalent package manager to download and install ErrLog.IO. Remember to install the package for each platform-specific project - iOS, Android and UWP.

dotnet add package
paket add


Instantiating ErrLog.IO to Log Errors & Exceptions

Typically you can activate ErrLog.IO either on a page-by-page basis, or within your startup class.

public partial class MainPage : ContentPage
	public MainPage ()
		ErrLog.settings.apikey = "[Your-api-key]";

Global App Startup Class

You can also install ErrLog.IO in your app.xaml.cs class.

public partial class App : Application
	public App()

		ErrLog.settings.apikey = "[Your-api-key]";

Capturing Errors and Exceptions

There are a number of event handlers available in Xamarin.Forms for capturing exceptions. Below are examples of how to add a custom event handler to send Exceptions directly to ErrLog.IO

Shared Class Library

static void logError(object sender, UnhandledExceptionEventArgs args)
	Exception ex = (Exception)args.ExceptionObject;


AppDomain.CurrentDomain.UnhandledException += logError;
TaskScheduler.UnobservedTaskException += logError;
AndroidEnvironment.UnhandledExceptionRaiser += logError;


AppDomain.CurrentDomain.UnhandledException += async (sender, e) => logError
TaskScheduler.UnobservedTaskException += async (sender, e) => logError

Windows UWP

UnhandledException += logError;


Discuss this article