Background
As discussed in my prvious blog post i.e. ELMAH Part-1.
Now in this article I will be explaining the integration of ELMAH with Sql Server(SSMS). This is now-a-days an essential part in any application, that is error and exceptions that rise in the application are logged into the database tables that are related to ELMAH. These table scripts are providedby ELMAH itself. Dont Believe!! I also did not. But that is the truth. Lets see and discuss now..
ELMAH Configuration
Here I am specifying all the requirements for setting up ELMAH in the web.config settings. As the installationand also the setting have been explained in Part-1. Still I am specifying the blocks required in the Web.Config.
Inside the System.webServer block:
1 2 3 4 |
<modules runAllManagedModulesForAllRequests="true"> <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> </modules>Snippet |
1 2 3 |
<handlers> <add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> </handlers> |
above are the modules and handlers as well.
Inside system.Web:
1 2 3 4 5 6 7 |
<httpModules> <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> </httpModules> <httpHandlers> <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> </httpHandlers> |
The above are the common settings for the ELMAH. Now lets look into the settings required for database settings.
As we all have an access and look at the connection strings. Still lets have a quick look:
1 2 3 |
<connectionStrings> <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-DemoStart-20141014045047.mdf;Initial Catalog=aspnet-DemoStart-20141014045047;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings> |
The above is the pattern of the connection strings. Donot use the same one..just kidding.. 😉
Then the final change for the ELMAH with the Sql :
1 2 3 4 5 |
<elmah> <security allowRemoteAccess="yes" /> <errorMail from="[email protected]" to="[email protected]" subject="DEMO Error" async="false" useSsl="true" /> <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="DefaultConnection" applicationName="DemoStart"/> </elmah> |
This was the final change required for the web.config change to integrate ELMAH with SSMS.
Queries for ELMAH
Now, let me reveal the magic to you as I mentioned earlier. Yes guys, queries we donot have to write , ready-made queries are provided by the ELMAH team. The download link for the ELMAH Queries is :-Queries for ELMAH
Just simply download the “.sql” file and run in the SSMS. After execution the tables get created for the ELMAH as well as the stored procedures shown below:
As you can see above, the tables and stored procedures are added into the database. This is so simple and as simple it can be. Is’nt this great!!
Lets see the number of columns and what columns are being created in the table dbo.ELMAH_Error
Then every exceptions rising will be added into the table and can be easily used by developers for future reference.
I hope this helps developers anyway. This article covers all the setting configurations required.
Thus the setup is as simple as it can be. Thanks to Andy French.