Thomas Ardal

Thomas Ardal

Denmark
193 posts
Serilog vs log4net

Serilog and log4net are two very popular choices for logging messages from .NET applications. In this post I'll show you how to configure and use each frameworkm as well as list the advantages and disadvantages of each framework. I even dare recommending you use one of the frameworks :)Let's start ...

Debugging System.IO.FileNotFoundException - Cause and fix

This is the third part in the series named "Debugging common .NET exceptions". Today, I want to help you track down and fix a very common and very well known exception, System.IO.FileNotFoundException. Admitted! In all instances this error is caused by trying to access a file that isn't ...

Country support

We're happy to announce that we just deployed the last step in our efforts to launch country support on elmah.io. Three months ago we started putting ISO 3166-1 alpha-2 country codes on all log messages. It was a poor-mans solution based on looking at HTTP headers, which only works ...

Serilog vs NLog

Serilog is often referred to as the new logging framework on the .NET platform, while NLog is considered "the old one" (together with log4net). With Serilog introduced back in 2013 and NLog in 2006, they both have a long history and a great community around them. I have worked with ...

elmah.io for Startups

Some of you may remember that we had a special program for Microsoft BizSpark members. Since Microsoft pulled the plug on that, we took some time reevaluating what to offer going forward. Today, we are ready to reveal our new program simply called elmah.io for Startups. As a member ...

ASP.NET Core (not that secret) User Secrets Explained

In my previous post, Individual developer settings in ASP.NET Core, I showed you how to create per-developer settings using Windows environment variables. While environment variables are both fast to produce and script friendly, there is a better approach available in ASP.NET Core called User Secrets.Unlike environment variables, ...

Debugging System.OutOfMemoryException using .NET tools

Welcome to the second part in the series about debugging common .NET exceptions. The first part can be found here: Debugging: System.Net.WebException - The remote name could not be resolved. The series is my attempt to demystify common exceptions as well as to provide actual help fixing each ...

Individual developer settings in ASP.NET Core

So, you started using ASP.NET Core and love the new hierarchical JSON-based settings. But now you realize that you need individual settings per developer on your team. In this post, I will show you the best way to achieve just that.Let's start by looking at settings in ASP. ...

New Advisor at elmah.io: Kenneth Auchenberg

It's time for a new face here at elmah.io. We are continuously improving our advisory board (remember Simon and Peter?). Today, I want to introduce you to the recent addition: Meet Kenneth Auchenberg. Kenneth doesn't need much introduction since he is already a familiar face in the .NET community. ...