Integrating ELMAH in Code OnTime Projects

Labels
AJAX(112) Apple(1) Application Builder(242) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(11) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(177) DotNetNuke(12) EASE(20) Email(6) Features(99) Firebird(1) Form Builder(14) Globalization and Localization(6) Hypermedia(2) Installation(4) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(15) OAuth(5) OAuth Scopes(1) OAuth2(6) Offline(14) Oracle(10) PKCE(1) PostgreSQL(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(163) Reports(48) REST(26) RESTful(21) RESTful Workshop(13) RFID tags(1) SaaS(7) Security(75) SharePoint(12) SPA(5) SQL Anywhere(3) SQL Server(26) Stored Procedure(4) Teamwork(15) Tips and Tricks(81) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(331) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(39) Web.Config(9) Workflow(28)
Archive
Blog
Saturday, March 27, 2010PrintSubscribe
Integrating ELMAH in Code OnTime Projects

Q. I have another question. I just implemented ELMAH into my solution and
am having some difficulty because every time I use the designer and
regenerate the solution the Elmah configuration entries get
overwritten in Web.Config. I'm sure others have run into this before.
How would you suggest I remediate this issue?

Arthur Djavairian

A. You can configure the project to execute custom Web.Config modification instructions as described at /blog/2010/03/customizing-webconfig.html.

ELMAH (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.

Arthur has shared with us his configuration settings.

The following is the markup to add ELMAH error logging to a Code OnTime project.  Make sure to copy the instructions including the text in bold.

AppendChild: /configuration/configSections

              <sectionGroup name="elmah">
                       <!-- NOTE! If you are using ASP.NET 1.x then remove the
                requirePermission="false" attribute from the section
                elements below as those are only needed for
                partially trusted applications in ASP.NET 2.0 -->
                       <section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah"/>
                       <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah"/>
                       <section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah"/>
                       <section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah"/>
                       <section name="errorTweet" requirePermission="false" type="Elmah.ErrorTweetSectionHandler, Elmah"/>
               </sectionGroup>

InsertAfter: /configuration/connectionStrings

       <elmah>
               <security allowRemoteAccess="1"/>
               <!--
           Use to log errors to Microsoft SQL Server 2000 or 2005
           using ASP.NET 2.0. Set value of connectionStringName attribute
           to the name of the connection string settings to use from
           the <connectionStrings> section.
       -->
               <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="SimplePaymentPlans"/>
       </elmah>

AppendChild: /configuration/system.web/httpHandlers


<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/>

AppendChild: /configuration/system.web/httpModules

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>

AppendChild: /configuration

   <location path="elmah.axd">
       <system.web>
           <authorization>
               <allow roles="Administrators"/>
               <deny users="*" />
           </authorization>
       </system.web>
   </location>