For any serious software application, error logging and a feedback mechanism is simply indispensable. After you have captured the error log a log file ( maybe using something like [log4net](http://log4net.sourceforge.net/)), or maybe during the time when an exception occurs, you want to prompt out a message box ( see below image), apologizing for the problem, and ask the user whether he would like to send the current state of the application along with all the relevant information to your email address.
[![alt text](https://i.stack.imgur.com/pexRS.png)](https://i.stack.imgur.com/pexRS.png)  

(source: [windowscoding.com](http://windowscoding.com/cfs-filesystemfile.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/blake/MicrosoftVisualStudio2008_5F00_32CB08FC.png)) 

Now, this is ***easy*** to implement, but ***very tedious*** and I don't want to write a separate class for this for each of my projects, and neither do I want to reinvent the wheel. So I am looking for a open source library that does this well.

Any recommended component for exception notification library?

I am doing WinForms development, but the underlying concept should be the same.