Blogged: ASP.NET Core middleware with Roslyn Analyzers - Part 1

Blogged: How to send emails from C#/.NET - The definitive tutorial

Redesigned log search page

The final part of the app revamp has been deployed. The updated log search page has been rebuilt to look better than ever:


All of the tabs have been visually improved, like the Uptime tab:


This change also introduces a beautiful new look and feel for Heartbeats:


Let us know what you think.

Elmah.Io.AspNetCore.HealthChecks 3.8.100

There's a new version of the Elmah.Io.AspNetCore.HealthChecks package. We made the report published by ASP.NET Core better by grouping by severity:

Health Check Report

February newsletter

We just published a new issue of the Newsletter:


If you want to receive an email every 2-3 months with all of the recent goodies on, make sure to subscribe here:

Blogged: C# how to convert a string to int

Blogged: Publish a self-contained .NET Core 3.1 app on Azure DevOps

Identify new errors from message template

You may remember back in August and September of last year when we introduced structured logging and started grouping messages by the new message template field. Today, we released the third (and final so far) step in getting structured logging to With today's change, we now calculate the isNew flag based on the messageTemplate field rather than looking at message. In short, this means that we will now only set isNew to true on one of the following log messages (previously, both were set to new):

log.Information("Error while saving {UserId}", 1);
log.Information("Error while saving {UserId}", 2);

The isNew algorithm still looks at a range of different fields (like URL and source of the error). If the message above is logged from two different URLs, both messages will be marked as new to help you identify that the error happened on multiple pages.

Fixed a problem after re-installing apps

We fixed an issue that would cause some apps not to work after a re-install. If you experience apps that don't work, please try to re-install the app. If still not working, don't hesitate to reach out to our support.

Fixed warning in the Azure DevOps integration

Those of you who use the integration between Azure DevOps and may have noticed the following warning in the log when notifying about a new release:

##[warning]Task 'ElmahIoDeploymentNotification' (3.1.1) is using deprecated task execution handler. The task should use the supported task-lib:

We released a new version which fixes this warning. The new integration is automatically rolled out to your pipelines. If you experience any problems in this process, it can be installed manually from here: