Elmah

LMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.
Once ELMAH has been dropped into a running web application and configured appropriately, you get the following facilities without changing a single line of your code:
* Logging of nearly all unhandled exceptions.
* A web page to remotely view the entire log of recoded exceptions.
* A web page to remotely view the full details of any one logged exception.
* In many cases, you can review the original yellow screen of death that ASP.NET generated for a given exception, even with customErrors mode turned off.
* An e-mail notification of each error at the time it occurs.
* An RSS feed of the last 15 errors from the log.