【发布时间】:2012-03-30 22:44:00
【问题描述】:
我遇到过一种情况,Page 的设计完全隐藏了 Trace 信息。我正在寻找最简单的方法,收集这些信息的捷径。我的意思是不重新实现整个基础设施。 所以:
是否可以改变 ASP.NET 将跟踪信息添加到标记中的方式?
或者是否可以截取按顺序渲染成html的Trace数据 通过 smtp 发送或放入日志文件?
【问题讨论】:
我遇到过一种情况,Page 的设计完全隐藏了 Trace 信息。我正在寻找最简单的方法,收集这些信息的捷径。我的意思是不重新实现整个基础设施。 所以:
是否可以改变 ASP.NET 将跟踪信息添加到标记中的方式?
或者是否可以截取按顺序渲染成html的Trace数据 通过 smtp 发送或放入日志文件?
【问题讨论】:
在您的 web.config 中:
<system.web>
<trace enabled="true"
requestLimit="40"
localOnly="false"
writeToDiagnosticsTrace="true" />
...
</system.web>
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="Logger"
initializeData="logger.txt"
type="System.Diagnostics.TextWriterTraceListener"
traceOutputOptions="DateTime" />
</listeners>
</trace>
</system.diagnostics>
重要的一点是writeToDiagnosticsTrace="true",它将跟踪重定向到配置的诊断侦听器,在此示例中是一个名为logger.txt 的文件,它将在您的站点的根目录中创建。显然,将此类文件保留在您网站的根目录会使它们对任何人可见,因此最好配置另一个跟踪侦听器。
还可以查看 MSDN 上的 following article。
【讨论】: