===== Elmah ===== ELMAH ([[https://elmah.github.io/Error Logging Modules and Handlers]]) is an application-wide error logging facility that is completely pluggable. {{ ::rootdir_elmah.png?direct&400 |}} This offers a standard way of capturing runtime errors in software, and they can help troubleshoot intermittent problems. Examples include: * connection information is (temporarily) no longer correct * a file format may have been modified by its vendor and now no longer renders correctly It captures nearly all unhandled exceptions in PMA.core as well as some handled exceptions that needs to be reported. It also provides the following very usefull features for maintaining a running production server: * Logging of nearly all unhandled exceptions. * A web page to remotely view the entire log of recorded exceptions. * A web page to remotely view the full details of any one logged exception, including colored stack traces. {{ :diag_elmah.png?600 |}} Elmah although powerful and useful it is, it is not a substitute for IIS logs and PMA.core internal logging as it does not capture all detailed information for requests like IIS does, nor does know the internal workings of PMA.core as the internal logging is capable of.