Skip to content

Error handler used for the Stack Exchange network

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

khawajaasim/StackExchange.Exceptional

 
 

Repository files navigation

About

StackExchange.Exceptional is the error handler used internally by Stack Exchange and Stack Overflow for logging to SQL (SQL Server and MySQL are both supported).

It also supports JSON and memory error stores, filtering of exceptions before logging, and fail/retry mechanisms for storing errors if there's an interruption in connecting to the error store.

Configuration

See the wiki for how to get configured and logging in just a few minutes.

Details

While having some features centered around logging/showing exceptions from web applications, it can be used with either web or console applications. HttpContext is optional when logging exceptions. An example use of this at Stack Exchange is windows services logging to SQL and viewed elsewhere in a central dashboard called Opserver.

This project was inspired by ELMAH, but it didn't suit our particular needs for very, very high volume error logging when a network-level event occurs.

Stack Exchange needed a handful things in an error handler/logger:

  • High speed/capacity logging (on the order of 100,000/min)
  • Handling the connection to a central error store being interrupted (without losing the errors)
  • Add custom data to exceptions
  • Rolling up of duplicate errors

Given the above needs, StackExchange.Exceptional was created. It's as lightweight as possible to suit the needs of the network, but if there are compelling features I'll definitely look at adding them to the main repo here and NuGet soon.

License

Dual-licensed under:

About

Error handler used for the Stack Exchange network

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 96.4%
  • CSS 1.8%
  • PLpgSQL 1.3%
  • PowerShell 0.5%