title: ELMAH is not logging on Azure
body: <p>I try to use elmah to log errors on my server. If exception occurs on my local pc, elmah will save this error. But after I upload it to azure, it doesn't work anymore. Database configuration is correct, because I can log errors with the following statement (Local/Azure):</p>
  
  <pre><code>Elmah.ErrorSignal.FromCurrentContext().Raise(e);
  </code></pre>
  
  <p>I suggest it's configuration error, because azure has a different IIS version and also different server configuation.</p>
  
  <p>This is my web.config</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;configuration&gt;
    &lt;configSections&gt;
      &lt;section name="RetryPolicyConfiguration" type="Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.Configuration.RetryPolicyConfigurationSettings, Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling, Version=5.1.1209.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" /&gt;
      &lt;section name="typeRegistrationProvidersConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Common.Configuration.TypeRegistrationProvidersConfigurationSection, Microsoft.Practices.EnterpriseLibrary.Common, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /&gt;
      &lt;sectionGroup name="elmah"&gt;
        &lt;section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" /&gt;
        &lt;section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" /&gt;
        &lt;section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" /&gt;
      &lt;/sectionGroup&gt;
    &lt;/configSections&gt;
    &lt;RetryPolicyConfiguration defaultRetryStrategy="Fixed Interval Retry Strategy"&gt;
      &lt;incremental name="Incremental Retry Strategy" maxRetryCount="5" retryIncrement="00:00:03" /&gt;
      &lt;fixedInterval name="Fixed Interval Retry Strategy" maxRetryCount="6" retryInterval="00:00:04" /&gt;
      &lt;exponentialBackoff name="Exponential Backoff Retry Strategy" /&gt;
    &lt;/RetryPolicyConfiguration&gt;
    &lt;typeRegistrationProvidersConfiguration&gt;
      &lt;clear /&gt;
      &lt;add name="Caching" sectionName="cachingConfiguration" /&gt;
      &lt;add name="Cryptography" sectionName="securityCryptographyConfiguration" /&gt;
      &lt;add name="Exception Handling" sectionName="exceptionHandling" /&gt;
      &lt;add name="Instrumentation" sectionName="instrumentationConfiguration" /&gt;
      &lt;add name="Logging" sectionName="loggingConfiguration" /&gt;
      &lt;add name="Policy Injection" sectionName="policyInjection" /&gt;
      &lt;add name="Security" sectionName="securityConfiguration" /&gt;
      &lt;add name="Data Access" providerType="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSyntheticConfigSettings, Microsoft.Practices.EnterpriseLibrary.Data" /&gt;
      &lt;add name="Validation" providerType="Microsoft.Practices.EnterpriseLibrary.Validation.Configuration.ValidationTypeRegistrationProvider, Microsoft.Practices.EnterpriseLibrary.Validation" /&gt;
      &lt;add sectionName="RetryPolicyConfiguration" name="RetryPolicyConfiguration" /&gt;
    &lt;/typeRegistrationProvidersConfiguration&gt;
    &lt;connectionStrings&gt;
      &lt;add providerName="System.Data.SqlClient" name="elmah" connectionString="..." /&gt;
    &lt;/connectionStrings&gt;
    &lt;system.web&gt;
      &lt;globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" responseHeaderEncoding="utf-8" uiCulture="en-US" culture="en-US" enableClientBasedCulture="false" /&gt;
      &lt;httpRuntime maxRequestLength="2000" enableVersionHeader="false" /&gt;
      &lt;compilation debug="true" targetFramework="4.5"&gt;
        &lt;assemblies&gt;
          &lt;add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
          &lt;add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
          &lt;add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
          &lt;add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
          &lt;add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
          &lt;add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /&gt;
          &lt;add assembly="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /&gt;
        &lt;/assemblies&gt;
      &lt;/compilation&gt;
      &lt;authentication mode="Forms"&gt;
        &lt;forms loginUrl="~/#login" defaultUrl="~/" timeout="7200" /&gt;
      &lt;/authentication&gt;
      &lt;customErrors mode="On"&gt;&lt;/customErrors&gt;
      &lt;trust level="Full" /&gt;
      &lt;machineKey validationKey="..." decryptionKey="..." validation="SHA1" decryption="AES" /&gt;
      &lt;pages enableSessionState="false" enableViewState="false" validateRequest="false" controlRenderingCompatibilityVersion="4.0"&gt;
        &lt;namespaces&gt;
          &lt;add namespace="System.Web.Helpers" /&gt;
          &lt;add namespace="System.Web.Mvc" /&gt;
          &lt;add namespace="System.Web.Mvc.Ajax" /&gt;
          &lt;add namespace="System.Web.Mvc.Html" /&gt;
          &lt;add namespace="System.Web.Routing" /&gt;
          &lt;add namespace="System.Web.WebPages" /&gt;
        &lt;/namespaces&gt;
      &lt;/pages&gt;
      &lt;sessionState mode="Off" timeout="120" /&gt;
      &lt;httpHandlers&gt;
        &lt;add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /&gt;
      &lt;/httpHandlers&gt;
      &lt;httpModules&gt;
        &lt;add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /&gt;
        &lt;add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /&gt;
      &lt;/httpModules&gt;
    &lt;/system.web&gt;
    &lt;runtime&gt;
      &lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /&gt;
          &lt;bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /&gt;
        &lt;/dependentAssembly&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /&gt;
          &lt;bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" /&gt;
        &lt;/dependentAssembly&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /&gt;
          &lt;bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /&gt;
        &lt;/dependentAssembly&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" /&gt;
          &lt;bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" /&gt;
        &lt;/dependentAssembly&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="Microsoft.Practices.TransientFaultHandling.Core" publicKeyToken="31bf3856ad364e35" culture="neutral" /&gt;
          &lt;bindingRedirect oldVersion="0.0.0.0-5.1.1209.0" newVersion="5.1.1209.0" /&gt;
        &lt;/dependentAssembly&gt;
        &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /&gt;
          &lt;bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" /&gt;
        &lt;/dependentAssembly&gt;
      &lt;/assemblyBinding&gt;
    &lt;/runtime&gt;
    &lt;startup&gt;
      &lt;supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" /&gt;
    &lt;/startup&gt;
    &lt;system.webServer&gt;
      &lt;modules runAllManagedModulesForAllRequests="true"&gt;
        &lt;add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /&gt;
        &lt;add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /&gt;
      &lt;/modules&gt;
      &lt;staticContent&gt;
        &lt;clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="2.00:00:00" /&gt;
      &lt;/staticContent&gt;
      &lt;urlCompression doStaticCompression="true" doDynamicCompression="true" dynamicCompressionBeforeCache="false" /&gt;
      &lt;handlers&gt;
        &lt;add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /&gt;
      &lt;/handlers&gt;
      &lt;validation validateIntegratedModeConfiguration="false" /&gt;
      &lt;httpErrors errorMode="Custom"&gt;
        &lt;clear /&gt;
        &lt;error statusCode="404" path="/error404" responseMode="ExecuteURL" /&gt;
      &lt;/httpErrors&gt;
    &lt;/system.webServer&gt;
    &lt;elmah&gt;
      &lt;security allowRemoteAccess="true" /&gt;
      &lt;errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah" applicationName="..." /&gt;
    &lt;/elmah&gt;
    &lt;location path="elmah.axd" inheritInChildApplications="false"&gt;
      &lt;system.web&gt;
        &lt;authorization&gt;
          &lt;allow roles="admin" /&gt;
          &lt;deny users="*" /&gt;
        &lt;/authorization&gt;
        &lt;httpHandlers&gt;
          &lt;add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /&gt;
        &lt;/httpHandlers&gt;
      &lt;/system.web&gt;
      &lt;system.webServer&gt;
        &lt;handlers&gt;
          &lt;add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /&gt;
        &lt;/handlers&gt;
      &lt;/system.webServer&gt;
    &lt;/location&gt;
  &lt;/configuration&gt;
  </code></pre>