asp.net日志跟踪方法

1. 页面级的配置

  要在页面级启用跟踪功能,就要在@Page指令中设置Trace属性。如下所示:

*******************************************************************************

<%@ Page Language="vb" Trace="true" Codebehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1"%>

*******************************************************************************

2.应用程序级的配置

应用程序级的跟踪功能有多种选择,可以通过在config.web文件中的<system.web>下增加一个XML元素<trace>来设置。

  表1:跟踪选项

属性说明
Enabled如果应用程序中能使用跟踪功能为true,否则为false
PageOutput如果跟踪信息显示在应用程序的页面上和跟踪窗口中则为true,否则为false。注意:该属性将不影响已启动的跟踪功能页
RequestLimit说明服务器所能存放的跟踪请求的最大个数。默认为10个
TraceMode指名按某种顺序显示跟踪信息。按SortByTime(时间顺序)或按用户定义类型的SortByCategory(字母顺序)。默认为按时间顺序。
LocalOnly如果为true,跟踪窗口(trace.axd)只能显示在Web服务器的主机上,否则为false。默认为true。
*******************************************************************************

<configuration>

<system.web>

<trace Enabled="true" PageOutPut="false" requestLimit="20" traceMode="SortByTime" localOnly="true"/>

</system.web>

</configuration>

*******************************************************************************

  虽然例子中使用了所有的属性,但是并非每个属性都必须设置。而且页面级的配置将覆盖应用程序级的配置。比如,在应用程序级禁用了跟踪功能,但在页面级又启用这个功能,那么跟踪信息仍会显示在页面上。

  RequstLimit属性设置了将被记录的在跟踪日志中的请求的个数,这可以避免日志量过大。如果localOnly属性设为true,那么只在服务器上看到跟踪信息。这使得只有服务器端可以跟踪应用程序,而其他用户却看不到跟踪信息。

注意:http://主机地址/trace.axd也可以查看页面trace的信息

3.使用方法:

Trace.Write("ModuleRewriter", "Rewriting URL to " + sendToUrl);