2011-05-31 104 views
1

我使用elmah與asp.net mvc 3網站,它工作正常,但當我上傳到我的共享託管網站(iis 7)它似乎沒有記錄任何錯誤。Elmah不在現場工作

我用nuget來抓取庫,我假設它在web.config中設置了它需要的所有東西。

所以我不知道我缺少什麼,爲什麼它不顯示。

編輯

這裏就是一切ELMAH我

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
      <elmah xdt:Transform="Replace"> 
      <errorMail from="" 
        to="" 
        cc="" 
        subject="" 
        async="true" 
        smtpPort="26" 
        smtpServer="" 
        userName="" 
        password="" /> 
      <errorLog type="Elmah.SqlErrorLog, Elmah" logPath="~/App_Data" connectionStringName="ConnectionString" /> 
      <errorFilter> 
      <test> 
      <equal binding="HttpStatusCode" value="404" type="Int32" /> 
      </test> 
     </errorFilter> 
     <security allowRemoteAccess="0" /> 
     </elmah> 
    </configuration> 
    <system.web> 
    <httpModules> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" /> 
     <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> 
    </httpModules> 
    <httpHandlers> 
     <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> 
    </httpHandlers> 
    </system.web> 

    <system.webServer> 
     <validation validateIntegratedModeConfiguration="false" /> 
     <modules runAllManagedModulesForAllRequests="true"> 
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
      <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 
     </modules> 
     <handlers> 
      <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /> 
     </handlers> 
    </system.webServer> 
+0

不知道是你已經看到了這個,可能會有幫助 - http://stackoverflow.com/questions/5387652/elmah-not-working-on-iis7 -server – Ahmad 2011-05-31 06:05:57

+0

你在哪裏存儲日誌? sql,sqlite? – naveen 2011-05-31 08:58:30

+0

@naveen -sql相同的連接字符串正在本地和現場使用。 – chobo2 2011-05-31 15:51:03

回答

1

如果已經使用的NuGet下載了它,你應該擁有所有的配置部分準備。 無論如何,嘗試並檢查您system.webServer部分:

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 
     <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" /> 
     <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" /> 
    </modules> 
    <handlers> 
     <add name="Elmah" path="elmah.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" /> 
    </handlers> 
    </system.webServer> 
+0

@LeftyX - 我看到它也有iis 6。他們是否相互衝突?像我需要刪除iis 6的東西? – chobo2 2011-05-31 15:52:06

+0

@ chobo2:沒有。 – LeftyX 2011-05-31 15:55:57

+0

@LeftyX - 我需要在我的ms sql 2008數據庫(一個權限也許)以外的數據庫表和3 sps中設置任何特殊的東西嗎? – chobo2 2011-05-31 16:04:54