Introducing Client-side logging to

Today, I'm happy to share some huge news. is no longer limited to logging errors from your server. We now also support client-side logging through the recent addition, simply named With, JavaScript errors happening right there in the users' browser, are logged to alongside all of your server-side errors.

As always, we do most of the work for you when needing to install and configure With our focus on the .NET platform, we can make sure that our client-side experience matches the already high standard you know from our server-side integrations. can be installed in multiple ways. Examples are manual, using a CDN, using npm or NuGet, using ASP.NET Core tag helpers and even LibMan. For more info about how to install into your project, check out Logging from JavaScript.

In short, the only thing you need to do is to reference the script:

<script src="~/Scripts/elmahio.js?apikey=API_KEY&logid=LOG_ID"></script>

That's it! All uncaught JavaScript errors are now logged to the specified log.

Remember to disable access to the v2 API on your log and generate a new API key with messages_write permission only.

Errors show up in in the same way as server-side errors. The logged pieces of information come from the client, though:

Client-side error

In this example, a TypeError from the browser is logged in Notice the extended device information available on client-side errors. When logging errors, automatically collects information about the device, resolution, language and more. This information helps you spot if an error is happening on a mobile device, a single resolution or specific OS version only.

Since you are logging client-side errors to your existing error logs, all of the rules and notifications already set up, just work. Client-side errors are smart grouped just as server-side errors, making it possible for you to notify your team every time a new error is generated on the client. The built-in issue tracker also works on client-side errors.

Like our server-side integrations, errors and even information messages can be logged from the browser. provides a logging API, similar to the ones you already know from log4net, Serilog and similar. Log messages can be logged manually like this:

var logger = new Elmahio({
  apiKey: 'API_KEY',
  logId: 'LOG_ID'

logger.information('Hello World from the browser');

try {
  throw new Error('Some error');
} catch(err) {
  logger.error('An error happened', err);
} provides a range of different options, like events. For more information, check out the documentation.

Client-side support is still in beta, but we expect everything to stabilize before the end of the year. We are currently working on:

  • TypeScript mappings to provide IntelliSense in Visual Studio.
  • Source mapping support, showing deminified stack traces on
  • Finishing the documentation and samples for frameworks like Angular and React.
Features steps
We monitor your websites

We monitor your websites

We monitor your websites for crashes and availability. This helps you get an overview of the quality of your applications and to spot trends in your releases.

We notify you

We notify you

We notify you when errors starts happening using Slack, Microsoft Teams, mail or other forms of communication to help you react to errors before your users do.

We help you fix bugs

We help you fix bugs

We help you fix bugs quickly by combining error diagnostic information with innovative quick fixes and answers from Stack Overflow and social media.

See how we can help you monitor your website for crashes Monitor your website