通过Live应用程序上的Web界面查看ELMAH日志

时间:2015-12-15 11:40:28

标签: elmah error-logging elmah.mvc exception-logging

我已将elmah.mvc包含在Asp.Net MVC应用程序中,用于记录异常和自定义错误日志。它完全按预期工作,我可以使用SQL Server查看ELMAH_Error表中的日志,也可以通过本地主机URL(http://localhost:20086/elmah)从Web界面查看日志。

我的问题是:如果可能,我如何通过网站界面查看我的日志,而不是" http://localhost:20086/elmah"。我希望能够在必要时从任何计算机查看记录信息。我已经实现了角色和身份验证,因此我应该能够访问正确的URL,使用适当的凭据登录,然后查看日志....对吗? 这可能吗?

1 个答案:

答案 0 :(得分:3)

没问题。您可以使用ASP.NET身份验证来保护日志。基本上你想要这样的东西:

<location path="elmah.axd">
    <system.web>
        <httpHandlers>
            <add verb="POST,GET,HEAD"
                 path="elmah.axd"
                 type="Elmah.ErrorLogPageFactory, Elmah" />
        </httpHandlers>
        <authorization>
            <allow roles="admin" />
            <deny users="*" />
        </authorization>
    </system.web>
    <system.webServer>
        <handlers>
            <add name="ELMAH"
                 verb="POST,GET,HEAD"
                 path="elmah.axd"
                 type="Elmah.ErrorLogPageFactory, Elmah"
                 preCondition="integratedMode" />
        </handlers>
    </system.webServer>
</location>

ELMAH Tutorial中有更多详细信息。

您似乎正在使用Elmah.MVC软件包。使用此软件包,您还有另一种选择:

<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.allowedRoles" value="admin" />