所以我一直在使用elmeh。
我有一个应用程序,我最近转换为MVC3 .net4和vs2010,它是在服务器2008盒子上开发的(而不是我在XP盒子上开发的其他应用程序)。
我正常设置elmah并且它不起作用...
我已经有了对ELMAH.dll的引用,它位于我的CommonDLLs文件夹中。
我添加了sectiongroups
<sectionGroup name="elmah">
<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" />
</sectionGroup>
我添加了
部分<elmah>
<security allowRemoteAccess="1" />
<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/ELMAH" />
<!--<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />-->
<errorMail from="change.me@CCCC.org" to="brown.ericw@CCCC.org" subject="Application: StudentPortal3G, Environment:Dev, ServerBoxName: Dev" async="true" />
</elmah>
我添加模块和处理程序
<httpHandlers>
<add verb="*" path="*.pdfx" type="JCDCHelper.Web.UI.RunAsASPXHandler, JCDCHelper.Web" />
<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
</httpModules>
我添加了电子邮件支持的SMTP部分
<system.net>
<!--Required for Elmah Mail Processing-->
<mailSettings>
<smtp deliveryMethod="Network">
<network host="10.10.10.10" port="25" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
我转到“〜\ ELMAH”文件夹,选择我的机器,并让网络服务帐户完全控制该文件夹(对所有人都做同样的事情,以防万一)
我为elmah.axd设置路由以将throguh作为网页。
routes.IgnoreRoute("elmah.axd");
我添加了一个位置标记,因此我可以在不登录的情况下点击elmah.axd
<location path="elmah.axd">
<system.web>
<authorization>
<!--<deny users="?" /> in prod and qa change to this, otherwise anyoen can look at the logs - EWB-->
<allow users="*" />
</authorization>
</system.web>
</location>
但我没有得到任何东西,没有elmah电子邮件,ELMAH文件夹中没有XML日志,而且当我转到elmah.axd时有404;
我错过了什么?任何帮助都是有用的。
谢谢,
卡尔 -
答案 0 :(得分:2)
在IIS7下,您需要在web.config的system.webserver节点下添加httpHandlers和httpModulea。
此主题应该有所帮助:http://groups.google.com/group/elmah/browse_thread/thread/4bbef2f26e0c5fd1