我使用Elmah.SqlErrorLog有一个站点日志记录错误。我的目标是让另一个站点包含为您通常在localhost/elmah.axd上通常看到的页面服务的处理程序。原因是记录错误的站点使用窗体身份验证,而我希望限制谁可以通过Windows身份验证查看日志。
进行日志记录的站点在端口80上运行,显示日志的站点位于端口8008上。一开始,我无法看到日志站点的异常。然后我找到了这个答案,这说明您可以为您的applicationName:Separate viewer application for ELMAH's log设置
我查看了ELMAH登录到的表,发现在尝试将日志记录/查看分离到两个不同的站点之前,它在Application列中记录了"/LM/W3SVC/3/ROOT“。
在指定applicationName="/LM/W3SVC/3/ROOT“之后,它工作了!不幸的是,这个值随机器的不同而不同,当下一个人的applicationName恰好是"/LM/W3SVC/10/ROOT“时,这个值就不能很好地工作。根据这一点,该字符串与本地机器命名空间:http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/44a57859-8fbb-4238-a7b5-f10c34cf8fe8.mspx?mfr=true有关。
如何获得端口8008上的站点,即查看日志以显示端口80上的站点记录的异常?
发布于 2012-09-23 01:41:18
一旦您显式地设置了applicationName,这就是它在记录数据库异常时应该使用的名称。
如果您在两个站点的配置中设置了applicationName="Foo“,端口80上的站点上记录的任何新异常都应该对端口8008上的站点可见。
如果需要在此更改之前记录旧错误,则可以将ELMAH_Error表中的应用程序字段更新为“Foo”
编辑
applicationName值设置为web.config中errorLog元素的属性。
<elmah>
<security allowRemoteAccess="false" />
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sqlserver" applicationName="Foo" />
</elmah>https://stackoverflow.com/questions/12539815
复制相似问题