【发布时间】:2011-05-31 05:10:21
【问题描述】:
我在一个 asp.net mvc 3 站点上使用 elmah,它在本地运行良好,但是当我将它上传到我的共享主机站点 (iis 7) 时,它似乎没有记录任何错误。
我使用 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>
【问题讨论】:
-
不确定你是否看过这个,可能会有所帮助 - stackoverflow.com/questions/5387652/…
-
您将日志存储在哪里? sql,sqlite?
-
@naveen - 本地和实时使用 sql 相同的连接字符串。
-
@chobo2:向 4k 会员提出这个问题听起来很愚蠢。但是你确定你按要求创建了相关表和三个sps吗?
-
@naveen - 是的,我有 ELMAH_Error 表、ELMAH_GetErrorsXml、ELMAH_GetErrorXml 和 ELMAH_LogError SPS。叹息当我使用 elmah 并尝试去生活时,我似乎总是遇到这个问题。这一次似乎对我不起作用(通常忘记为 iis 7 设置它),因为我使用了 nuget,所以我不会有任何问题。
标签: asp.net-mvc asp.net-mvc-3 elmah