elmah.io

Arhus, Denmark
2013
  |  By Ali Hamza Ansari
C# has been a popular programming language for many years now. It continuously evolves to include new features and adopt recent trends. Its flexibility makes it a language ideal for many different domains and platforms like desktop applications, enterprise systems, web development, games, cross-platform, and native mobile applications. Back when Microsoft launched.NET 7, this also included a new version of C# with version number 11.
  |  By Ali Hamza Ansari
.NET 9 is releasing in mid-November 2024. Like every.NET version, this introduces several important features and enhancements aligning developers with an ever-changing development ecosystem. In this blog series, I will explore critical updates in different areas of.NET. For today's post, I'll present some improvements to Cryptography.
  |  By Thomas Ardal
A few years ago, I had a play with HTTP logging added in ASP.NET Core 6. ASP.NET Core 8 introduced a set of additional configuration options that I believe are essential to make this feature usable. I will recap the details from the previous post below, but for more context, the first part of this series is here. In this post, I'll go through some of the changes introduced in HTTP logging since last. Before I jump into the improvements, let's recap how to set up HTTP logging.
  |  By Ali Hamza Ansari
In Software development, code readability transforms complexity into clarity. Martin Fowler said: Code should be readable and manageable so other developers can understand and work without additional fatigue. .NET has many ways to enhance readability and manageability. This post will explore C#'s extension methods by listing five use cases that I use on all of the ASP.NET Core projects I'm working on.
  |  By Ali Hamza Ansari
Decreasing response time is one of the key measures towards improving the user experience of an application. Caching techniques and other practices can help your.NET application perform well with low effort. With caching, you can keep frequently accessed delay-prone data in a fast, accessible location. This can improve your application's performance remarkably without making a big effort. In this post, I'll introduce a few different ways of implementing caching in ASP.NET Core.
  |  By Thomas Ardal
Stack traces are important for debugging and understanding exceptions in.NET applications. They provide detailed information about the error and the call stack when an exception occurs, allowing us as developers to investigate why an error happened. In this post, I'll walk you through the basics of reading.NET stack traces and explore more advanced scenarios, including how multiple types of stack traces can be combined.
  |  By Ali Hamza Ansari
You often need to add authentication and authorization when developing an application for a user base. But what are they? Why are they so important? This blog post will define these terms and discuss how to implement custom role permissions in an ASP.NET Core API.
  |  By Thomas Ardal
The In-process model of running Azure Functions is being retired in favor of the Isolated model in two years. A lot of components on elmah.io are running on Azure Functions. To ensure we are running on the most modern and supported platform (also in two years), we have spent quite some time migrating from In-process to Isolated functions. In this post, I'll share both a checklist to help you do the same as well as some of the lessons learned we had during the migration.
  |  By Thomas Ardal
It's time for a new post in the series about "secret" elmah.io features. This is the series where I highlight features that some of you may already know while others don't. For today's post, I want to highlight a feature that turns 3 years old this week: Breadcrumbs. Breadcrumbs is a built-in feature in all of our client integrations and the UI. Debugging what went wrong is often a lot easier by providing a logged error with a list of breadcrumbs leading up to an error.
  |  By Thomas Ardal
I was just asked how to troubleshoot an HTTP Error 500.19 - Internal Server Error when trying to launch an ASP.NET Core website on IIS. I have seen this error too many times for both ASP.NET and ASP.NET Core so decided to write a blog post about at least one, obvious, fix. The problem happens when deploying the ASP.NET or ASP.NET Core website to IIS and getting the following error message in the browser.
  |  By elmah.io
Blazor WASM JS Wrapping in relation to ObjectReferences
  |  By elmah.io
This example shows how to produce Push Notifications with ASP.NET Core.
  |  By elmah.io
An introduction to elmah.io Heartbeats.
  |  By elmah.io
An introduction to how to install elmah.io in your.NET web project.
  |  By elmah.io
Tutorial on how to install elmah.io on a running website on Azure App Services.

elmah.io is the easy error logging and uptime monitoring service for .NET. Take back control of your errors with support for all .NET web and logging frameworks.

Never rely on users to report bugs again:

  • Error Monitoring: With elmah.io Error Monitoring, all errors on your websites are automatically synced to elmah.io’s powerful infrastructure in the cloud. Using a range of different dashboards, it is easy for you to monitor the current state of your applications and react as soon as something breaks down. You can track both a single application as well as get the full picture of all applications, using a range of interesting metrics. Integrations with popular instant messaging and issue tracking systems, reduce the time from introducing an error to deploying a fix in production. Our users tell us that elmah.io helps them introduce fewer errors into their applications.
  • Uptime Monitoring: elmah.io Uptime Monitoring continuously pings your endpoints from up to 5 different regions. When your endpoints start failing, errors are logged in your existing error logs. This means that all of the rules and notifications already set up just work. No need to maintain your team and notification rules in multiple tools. Uptime checks also validate your SSL certificates and domain names, giving you a chance to renew both before users start experiencing errors in their browser.
  • Deployment Tracking: Deployment Tracking gives you a perfect overview of the different versions of your software. New versions of your software are automatically registered by elmah.io. Metrics about the performance of each release are collected immediately. Being able to determine if a new release introduced bugs, will allow for quick fixing or rollback to a previous version. Deployment Tracking supports all of the popular deployment choices on the market, like Azure DevOps and Octopus Deploy.
  • Heartbeats: Heartbeats is for scheduled tasks and services as Uptime Monitoring is for your websites. Add a predefined schedule and publish heartbeats to elmah.io when a scheduled task succeeds, every hour from your Windows Service, and much more. elmah.io automatically monitors your heartbeats. Using the built-in notifications and App Store, your teams are notified as soon as one of your heartbeats is unhealthy or missing.