从ASP.NET应用程序写入IIS日志

McG*_*gle 8 asp.net iis logging iis-7 remote-debugging

我想让我的ASP.NET应用程序将行写入某个日志.IIS是否提供了记录ASP.NET日志消息的任何内置方法?我想可能有办法捕获对System.Diagnostics.Debug.WriteLine()的调用,但我找不到任何方法来做到这一点.

Ari*_*tos 8

从sysinternals捕获Debug.Write并Debug.WriteLine使用DebugView.

http://technet.microsoft.com/en-us/sysinternals/bb896647

当然你必须编译Debug=true或者根本没有调用函数.因此,Debug.Write是一种仅用于实时测试和调试应用程序的好方法,而不是一般用于记录错误的解决方案.对于您希望保存错误的情况,我认为您需要使用其他用户建议的一个库,或直接在事件查看器上写下您的错误.

ps:由于某种原因,版本4.78无法在我的Windows XP上运行,我切换回4.77


小智 7

尝试Response.AppendToLog(),这将写入IIS日志文件.这很好,因为它不需要任何额外的软件.唯一的缺点是您的日志文件可能很大.我主要使用它来识别IIS日志中记录的内容.例如.登录时写下用户名,您可以跟踪他们的会话.


Uwe*_*eim 6

我通常做的是使用第3方日志框架并通过配置文件配置框架(即不需要重新编译)。

\n

我使用过的框架有:

\n
    \n
  • log4net \xe2\x80\x93 其中有很多所谓的“appenders”来写入不同的目标,例如Windows事件日志或数据库或日志文件。
  • \n
  • NLog \xe2\x80\x93 一个比 log4net 更容易使用的日志框架。
  • \n
\n

您必须在应用程序中插入适当的日志函数调用才能实际触发正在创建的日志条目。

\n

由于您的问题标题表明您想要写入与 IIS 相同的日志(文件);我不知道如何解决这个要求(仅此而已,我无法想象你会这样做的原因)

\n