从ASP.NET应用程序写入到IIS日志(write to IIS log from an ASP.

2019-07-28 22:43发布

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

Answer 1:

为了捕捉Debug.WriteDebug.WriteLine使用Sysinternals公司的DebugView

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

当然,你必须与编译Debug=true ,否则功能不叫的。 所以Debug.Write仅用于实时测试和调试应用程序,而不是保留日志上一般错误的解决方案的好办法 。 对于你喜欢我认为你需要的错误保存到醚使用的其他用户的建议一个库,或直接写在事件查看器你的错误的情况。

PS: 由于某种原因,版本4.78不工作对我的Windows XP和我切换回4.77



Answer 2:

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



Answer 3:

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

我用的框架是:

  • log4net的 -里面有很多所谓的“追加程序”编写像Windows事件日志或数据库或日志文件不同的目标。
  • NLlog -日志框架是一个容易一点比log4net的使用。

你必须插入您的应用选择合适的日志函数调用实际触发正在创建一个日志条目。

由于要写入相同的日志(文件)作为IIS做你的问题标题状态; 我不知道如何解决这个要求(单独留在家中,我不能想象一个理由,你为什么会做这个)



Answer 4:

我所知的Debug.WriteLine写入调试输出。 你可以看到它在调试器,将它从那里保存。 它不写入日志文件.. Debug类

  1. Debug类成员是有条件的Attritubte 看到这个答案的解释

你可以尝试ELMAH ,

是一种应用广泛的错误日志工具是完全可插拔的。 它可以动态地添加到正在运行的ASP.NET Web应用程序,甚至一台机器上所有的ASP.NET Web应用程序,而无需重新编译或重新部署。

或者你可以尝试log4net的



文章来源: write to IIS log from an ASP.NET application