2009-08-12 22 views
0

我有一个在一个特定场景中失败的实时Web应用程序,并且在本地工作正常。我没有远程调试设置,我想检查代码中某些变量的值。记录/发送电子邮件/调试代码以查看这些值的最快方式是什么?什么是在实时Web应用程序中注入一些日志记录的最快方法?

只是要清楚,没有错误/异常被抛出。有些东西是不同的,它会导致应用程序出现意想不到的结果。

在此先感谢!

回答

2

最快方法是简单地在Global.asax文件中的Application_Error事件中执行一些日志记录。如果您没有Global.asax文件,只需使用VS New File向导创建一个文件,它将为您处理该事件。

它不会帮助您在错误范围内得到局部变量,但您可以从那里记录全局变量,并至少获取有关错误的一些反馈。

编辑:作为对您的评论的回应,我建议您将您的跟踪数据输出到可以分析的文件。我自己并没有尝试过,但我已经看到它的建议。为了你的web.config中添加一种叫做的TraceListener像这样:

<system.diagnostics> 
<trace autoflush="true"> 
<listeners> 
<add name="TestTracer" 
type="System.Diagnostics.TextWriterTraceListener, System, 
Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
initializeData="<app root directory>\Asptesttrace.log" /> 
</listeners> 
</trace> 
</system.diagnostics> 

你将需要在本地玩它,我敢肯定。例如,确保跟踪对客户端不可见(这可能涉及使用Trace类打开或关闭跟踪,并更改它写入的流)。

+0

对不起,我应该更具体。没有异常被抛出,只是应用程序没有按预期工作。所以application_error事件不会帮助我。 – 2009-08-12 14:23:47

+0

在这种情况下,它更困难:)一秒钟,让我编辑。 – JoshJordan 2009-08-12 14:31:31

1

除了JoshJordan的评论,你可以使用Post Sharp跟踪每当进入一个方法,而不是退出,看看有什么价值正在进入它...

1

您可以随时打开本地唯一调试,然后远程访问服务器并使用该应用程序。

可能是查看您问题的最快方法。

1

我想用ASP.NET跟踪(http://www.4guysfromrolla.com/webtech/081501-1.shtml)进行快速日志记录。您将不得不在代码中添加Trace.Write()调用,并且您可以在活动页面中查看日志(仅通过浏览)。

为了更丰富的日志记录,你可以使用log4net(就是google“使用log4net”,你会得到大量有用的链接),它很容易配置,并允许你通过电子邮件发送日志(这非常方便!)。

希望有所帮助。

相关问题