asp.net mvc异常跟踪

时间:2009-07-02 07:37:36

标签: asp.net asp.net-mvc debugging logging

我正在尝试将一个在Controller中捕获的异常发送到trace.axd页面,但我似乎无法弄明白。 我有

<trace enabled="true" localOnly="false" mostRecent="true" pageOutput="false" />
web.config中的

,我对异常的反应是

catch (Exception e)
{
    ViewData["error"] += "Is not number!";
    Trace.TraceError(e.ToString());
    Trace.TraceError(e.StackTrace);
    return View();
}

但是,我无法在trace.axd页面上的任何地方找到这些字符串。那么如何让他们到那儿?

中学,我想问一下,我应该如何关闭跟踪没有问题(意味着那些我个人不会从某种方法发送的)请求,因为他们只是淹没我的踪迹并尽快删除那些偶然的错误报告,而不是有人注意到它们

提前致谢。

1 个答案:

答案 0 :(得分:4)

猜测你的问题是你正在使用System.Diagnostics.Trace类而不是ASP.NET的跟踪机制,并且它没有设置为将跟踪消息路由到trace.axd。尝试使用Controller.HttpContext.Trace对象进行跟踪。

或者,尝试通过将以下代码段添加到System.Diagnostics.Trace来将web.config路由到ASP.NET跟踪:

<system.diagnostics>
  <trace>
    <listeners>
       <add name="WebPageTraceListener" 
            type="System.Web.WebPageTraceListener, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </listeners>
  </trace>
</system.diagnostics>