Maps elmah.io's NuGet package dependency tree, from the shared Elmah.Io.Client API wrapper up through elmah.io.core for classic ELMAH, Elmah.Io.AspNetCore middleware, Elmah.Io.Extensions.Logging, and dedicated packages for NLog, log4net, Serilog, Umbraco, and Logary. ...
Part 6 of elmah.io's ASP.NET Core series, covering the Microsoft.AspNetCore.Routing package and UseMvc's default route template {controller=Home}/{action=Index}/{id?} in Startup.cs. Explains inline default values, optional parameters marked with a question mark, and route constraints like {id:int}. ...
Announces that elmah.io renamed its former top-tier Enterprise plan (100k monthly messages) to Business+, freeing the Enterprise name for a new, larger plan with more storage. Existing Enterprise customers moved to Business+ automatically, with identical features besides message allowance. ...
Explains writing custom Quick Fixes for elmah.io's Fix tab by forking Elmah.Io.QuickFixes on GitHub and subclassing QuickFixBase in C#. Walks through an example, ImATeapotDocumentationQuickFix, whose CanFix method triggers on HTTP status code 418. This feature has since been discontinued. ...
Describes elmah.io's three-tier test strategy: unit tests with NUnit, Moq, and AutoFixture with no fixed coverage target, integration tests covering microservice and database calls, and full system tests through the UI and API, tracked with hand-drawn mindmaps of which features need coverage. ...
Part 5 of elmah.io's ASP.NET Core series, building a custom ErrorLoggingMiddleware class with a RequestDelegate constructor and an Invoke method wrapping _next(context) in a try/catch that logs then rethrows. Shows registering it via app.UseMiddleware in Startup.cs, after UseExceptionHandler. ...
A hub post rounding up elmah.io's ASP.NET Core tutorial series: Startup.cs configuration, the Microsoft.Extensions.Logging framework, middleware, routing, built-in dependency injection, ASP.NET Core 2.2 health checks, and the Kestrel web server built on libuv. Links to a dedicated post per topic. ...
Part 4 of elmah.io's ASP.NET Core series, introducing Microsoft.Extensions.Logging's provider model (like log4net appenders or Serilog sinks) and wiring up loggerFactory.AddConsole/AddDebug in Startup.cs. Covers the Trace-to-Critical log level scale and setting LogLevel.Default in appsettings.json. ...
Part 3 of elmah.io's ASP.NET Core series: how ASPNETCORE_ENVIRONMENT defaults to Production on Azure App Services, how to ship an appsettings.Staging.json for a staging slot, and how Azure's App Settings override nested appsettings.json values using colon-separated key paths like AppSettings:Hello. ...