Thomas Ardal

Thomas Ardal

Meet Thomas, the founder and developer behind elmah.io. Thomas blogs about everything technical from C# and ASP.NET Core to machine learning.

Denmark
320 posts
New error impact email highlights repeating errors

Introduces elmah.io's Error Impact Increased Email, which alerts you the moment an error's frequency spikes, like an ASP.NET MVC error firing 7 times in an hour, instead of waiting on a daily digest. Complements New Error and Daily Digest emails; enable per log or from your profile. ...

Improving security in ASP.NET MVC using custom headers

Walks through hardening ASP.NET MVC and Web API sites with web.config custom headers: X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy no-referrer, and Strict-Transport-Security, inspired by Scott Helme's securityheaders.io scanner. Notes X-Xss-Protection is deprecated. ...

ASP.NET MVC Interview Questions

Shares a framework for interviewing ASP.NET MVC developers around five topics: MVC separation of concerns, dependency injection tradeoffs, Razor versus SPA rendering, authentication/CSRF handling, and MVC/Web API/Core differences. Argues reviewing a candidate's own code beats checklist questions. ...

Enrich ELMAH errors using error filtering hook

Shows how to enrich classic ELMAH errors with custom data, like a database username, by hooking the ErrorLog_Filtering event in Global.asax.cs. Covers building a new Error object, setting User, calling ErrorLog.GetDefault(context).Log(error), and invoking args.Dismiss() to avoid duplicate logging. ...

Managing user access to logs directly on organization settings

Details elmah.io's redesigned Users tab on organization settings, letting admins set per-log access levels or assign and remove a user from all logs in one place, instead of navigating between separate pages. Builds on the Organization Support feature launched in July 2016. ...

Monitoring all logs with the new organization overview

Introduces elmah.io's organization overview, merging every log into one dashboard: critical error counts, a combined error graph, cross-log recent/frequent lists, and a Logs widget. Supports auto-refresh, full-screen mode, and a gear icon to include or exclude logs like staging vs production. ...

Turning deployment tracking upside down

Explains a redesign of elmah.io Deployment Tracking: messages logged after a deployment now inherit its version automatically, so you no longer decorate each with a version string, and deployments show up before the first error. Adds a logId property to bind a deployment to one log. ...

Set up SSL on GitHub Pages with custom domain using Azure

Describes using an empty ASP.NET app on Azure App Service as a reverse proxy for GitHub Pages, adding HTTPS on a custom domain before GitHub supported it natively. Covers a web.config rewrite rule pointing to elmahio.github.io/blog and enabling proxying via applicationHost.xdt. ...

One versioning scheme to rule them all

Explains elmah.io's client library versioning scheme: the major version now tracks the API version, so Elmah.Io.Client 3.0.42 targets API v3, and dependent packages like ELMAH and log4net integrations follow suit. Packages previously at 1.x.x were bumped to 3.0.x; Logary keeps its own numbering. ...