I am looking for a better solution than the fact that we are currently dealing with unexpected production errors without reinventing the wheel.
Most of our products are WinForm and WPF applications installed on remote sites. Unexpected errors inevitably occur: from NullReferenceExceptions to "General Network Errors." Thus, from programmer errors to environmental problems.
Currently, all of these unhandled exceptions are logged with log4net and then emailed to us for analysis . However, we found that sometimes these error messages contain too little information to identify the problem.
In these reports we need information, for example:
- app name
- Application version
- work station
- Maybe screenshot
- Exception Details
- operating system
- Available RAM
- Process start
- And so on...
I do not want to reinvent the wheel, developing it from scratch. Necessary components:
- Error collection (details as above)
- Error 'sender' (queue is required if DB or Internet is not available)
- Error database
- Analysis and reporting of these errors. For example. The 10 most common errors or timeouts occur between 16:00 and 17:00. How to compare errors between versions x and y?
Note: We considered SmartAssembly as a possible solution, but although this did not nearly satisfy our needs, I was hoping to hear what other developers do and if there are some alternatives.
Edit: Thanks for the answers. Perhaps in my initial question I was not clear, the problem is not how to catch all rash exceptions, but how to deal with them and create a reporting (analysis) mechanism around them.
Philip fourie
source share