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
Individual developer settings in ASP.NET Core

Shows two ways to give each ASP.NET Core developer their own settings without hard-coding connection strings: environment variables stored in launchSettings.json using keys like AppSettings:ConnectionString, or per-machine files such as appsettings.gilfoyle.json loaded via Environment.MachineName. ...

New Advisor at elmah.io: Kenneth Auchenberg

Introduces Kenneth Auchenberg, a Program Manager on the Visual Studio Code team at Microsoft, as a new elmah.io advisory board member; a Dane living in Seattle who co-founded CopenhagenJS, worked at ZYB and Podio, and is credited with pushing elmah.io toward client-side logging. ...

elmah.io User Survey 2018

Summarizes elmah.io's 2018 user survey using the 7-point Customer Effort Score: reliability scored 6.79, setup ease 6.00, docs quality 5.96, while Net Promoter Score jumped to 79 from 60 last year, edging out Apple's NPS of 72; only 18.5% knew about client-side logging. ...

Publishing ASP.NET Core health check results to elmah.io

Shows installing the Elmah.Io.AspNetCore.HealthChecks NuGet package and calling AddElmahIoPublisher with an API key and log ID to auto-publish failing ASP.NET Core 2.2 health checks to elmah.io, compatible with Pingdom or elmah.io Uptime Monitoring; elmah.io Heartbeats is now the newer integration. ...

9 awesome .NET conference talks you don't want to miss

Curates 9 recommended recorded .NET conference talks, including Jon Galloway's ASP.NET Core One Hour Makeover from NDC Sydney 2018, Scott Allen's 50-opinions talk on structuring ASP.NET Core apps, Steve Sanderson's Blazor introduction, and Matthew Ellis on allocation-free C# code. ...

Taking structured logging and elmah.io to the next level

Explains how elmah.io's Serilog, NLog, and Microsoft.Extensions.Logging integrations map structured logging properties onto UI fields like User, so log.Info("{Quote} from {User}", ...) populates both the Data tab and User field, searchable via user.raw:"Arnold Schwarzenegger". ...

ASP.NET Core Health Checks Explained

Part 7 of the ASP.NET Core series, showing how AddHealthChecks and app.UseHealthChecks replace a hand-rolled /working controller action; covers adding a SQL check via the inline AddCheck lambda versus a reusable IHealthCheck class implementing CheckHealthAsync, returning 200 or 503. ...

Retry failed requests

Describes elmah.io's now-removed Retry Request feature: expanding an error opened a dialog prefilled with the original request's URL, cookies, and form values, replayed it on Send, showed the response including status code, and let you export the request as a cURL command for Postman. ...

Introducing Client-side logging to elmah.io

Introduces elmah.io.javascript for logging uncaught browser JavaScript errors via a single script tag with apikey and logid, or the Elmahio class's logger.error/logger.information API; captures device, resolution, and language data, and reuses existing grouping, rules, and the issue tracker. ...