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

从ASP.NET应用程序写入IIS日志,asp.net,iis,logging,iis-7,remote-debugging,Asp.net,Iis,Logging,Iis 7,Remote Debugging,我想让我的ASP.NET应用程序在某个地方将行写入日志。IIS是否提供任何内置方式来记录ASP.NET日志消息?我在想可能有一种方法可以捕获对System.Diagnostics.Debug.WriteLine()的调用,但我找不到任何方法。要捕获Debug.Write和Debug.WriteLine请使用 当然,您必须使用Debug=true进行编译,否则根本不会调用函数。因此,Debug.Write只适用于实时测试和调试应用程序,而不是记录错误的解决方案。对于您希望保存错误的情况,我认为您

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

要捕获
Debug.Write
Debug.WriteLine
请使用

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


ps:由于某些原因,4.78版无法在我的windows xp上运行,我切换回4.77,我知道Debug.WriteLine会写入调试输出。您可以在调试器中看到它并从那里保存它。它不会写入日志文件

  • 调试类成员是条件属性
  • 你可以试试

    是一种应用程序范围内的错误日志记录工具,完全 可插拔的。它可以动态添加到正在运行的ASP.NET web 应用程序,甚至计算机上的所有ASP.NET web应用程序, 无需重新编译或重新部署


    或者您可以尝试

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

    我使用的框架有:

    • –它有许多所谓的“附加器”可以写入不同的目标,如Windows事件日志、数据库或日志文件
    • –一个比log4net更易于使用的日志框架
    您必须在应用程序中插入适当的日志函数调用,才能真正触发正在创建的日志条目

    由于您的问题标题说明您希望写入与IIS相同的日志(文件);我不知道如何解决此要求(更不用说我无法想象您这样做的原因)

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

    当使用
    Response.AppendToLog()
    时,日志将存储在何处。输出将附加到IIS日志文件的日志行中,但是URL编码的(在W3C格式中,空格将替换为
    +
    ,等等)。仔细看:)这与Windows 10兼容吗?@Mild是的,是的,作为开发人员,我经常使用它。如果由于任何原因没有看到某些东西,请在管理员模式下运行应用程序。我不是指网络,而是其他的