【问题标题】:Viewing ELMAH logs through the web interface on a Live application [duplicate]通过 Live 应用程序上的 Web 界面查看 ELMAH 日志 [重复]
【发布时间】:2016-03-21 04:31:12
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    没问题。您可以使用 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" />
    

    【讨论】:

    • 嗨,ThomasArdal 我知道授权/角色,并且我已经实现了这一点。我想弄清楚的是如何查看 ELMAH Web 界面来查看日志。我只能从本地主机做到这一点。我可以通过我的实时站点来执行此操作吗,因为tc-solutions.dk/elmah 给我带来了 404 错误
    • 您是否将allowRemoteAccess 属性设置为true?如果没有,请查看教程。
    • 是的,它按预期工作正常。我错过了在教程中理解的一些内容,但感谢您的帮助。
    • 您能否详细说明您的误解。我会确保把它说得更清楚。
    • 这不应该是公认的答案吗?
    猜你喜欢
    • 2010-09-07
    • 2010-10-10
    • 2013-06-13
    • 2012-05-23
    • 1970-01-01
    • 2011-10-18
    • 2011-12-21
    • 1970-01-01
    • 2017-01-03
    相关资源
    最近更新 更多