在 Global.asax 中使用 Trace

发布于 2024-12-14 18:56:18 字数 411 浏览 1 评论 0原文

我正在努力输出通过 Global.asax 中的 Trace.WriteLine 写入的消息,它们不会出现在 Trace.axd 中。

我添加了一个 WebPageTraceListener 和一个 TextWriterTraceListener,如记录的 这里 但我看到的只是您在预期的跟踪中看到的正常页面事件。

为了将 Global.asax 中写入的跟踪消息写入文件/跟踪日志,我是否缺少一个步骤?我正在 Application_AuthenticateRequest 事件中进行一些日志记录。

I'm struggling to output the messages written via Trace.WriteLine within the Global.asax, they don't appear in the Trace.axd.

I've added a WebPageTraceListener and a TextWriterTraceListener as documented here but all I see are the normal page events you would see in a trace which is expected.

Am I missing a step in order to get trace messages written in the Global.asax to the file/trace log? I'm doing some logging in the Application_AuthenticateRequest event.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故事和酒 2024-12-21 18:56:19

您是否使用 TRACE 开关进行编译或更新您的 web.config 以自动执行此操作?

从您链接到的 MSDN 页面(强调我的):

尽管每当启用跟踪时 ASP.NET 都会显示跟踪消息
对于页面,仅在以下情况下才写入 System.Diagnostics 跟踪消息:
跟踪消息所在的代码是通过使用
显式编译器开关 - TRACE 开关。换句话说,如果你这样做
不使用 TRACE 开关显式编译 AuthorClass,您
即使使用 WebPageTraceListener 也看不到跟踪消息
添加。

您可以将应用程序配置为使用以下命令自动编译
TRACE 开关,通过向 Web.config 文件添加新部分。

这是应放置在 部分之后的 Web.config 条目:

<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" 
              extension=".cs" 
              compilerOptions="/d:TRACE"
              type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
    <compiler language="VB"
              extension=".vb" 
              compilerOptions="/d:Trace=true"
              type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </compilers>
</system.codedom>

Did you compile using the TRACE switch or update your web.config to do so automatically?

From the MSDN page you linked to (emphasis mine):

Although ASP.NET displays trace messages whenever tracing is enabled
for a page, System.Diagnostics trace messages are written only when
the code in which the trace messages reside is compiled by using an
explicit compiler switch—the TRACE switch
. In other words, if you do
not explicitly compile the AuthorClass using the TRACE switch, you
will not see the trace messages, even with the WebPageTraceListener
added.

You can configure your application to automatically compile using the
TRACE switch, by adding a new section to your Web.config file.

This is the Web.config entry that should be placed after the <system.diagnostics> section:

<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" 
              extension=".cs" 
              compilerOptions="/d:TRACE"
              type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="1" />
    <compiler language="VB"
              extension=".vb" 
              compilerOptions="/d:Trace=true"
              type="Microsoft.VisualBasic.VBCodeProvider, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
  </compilers>
</system.codedom>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文