记录ASP.NET - 最佳实践

时间:2009-02-19 14:12:59

标签: asp.net iis logging .net-2.0

在ASP.NET 2.0网页或Web服务中编写最小错误日志的最佳方法是什么?对于我的目的,如果这是vanilla,那将是最好的,并且实现将通过IIS的虚拟目录。我目前正在使用标准的TextWriterTraceListener,但它似乎没有写入虚拟目录。

FYI - TextWriterTraceListener的配置如下:

<system.diagnostics>
    <trace autoflush="true">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData=".\VirtualDirectory\SomeLog.log" />
      </listeners>
    </trace>
  </system.diagnostics>

感谢您的帮助!

6 个答案:

答案 0 :(得分:12)

您可以尝试使用log4net框架。它是非常强大的开源.NET日志框架。看看Log4net web site

答案 1 :(得分:5)

你应该看看log4net。见this question 它可能看起来比您现在所需要的更多,但是一旦您将其作为您的架构的一部分,它将随时可用并随时可用。

答案 2 :(得分:5)

如果您只是要查找将其返回给用户的例外日志,请尝试ELMAH:

http://code.google.com/p/elmah/

另一方面,如果您希望跟踪应用中的活动,您当然可以尝试使用log4net。我更喜欢自己的nLog,你可以在这里找到它:

http://www.nlog-project.org/

这两个都是开源的。

答案 3 :(得分:3)

您可以尝试使用.NET 2.0内置的System.Diagnosis.TraceSource

Logging best practices

答案 4 :(得分:2)

此处对log4net进行了另一次投票。我有一个托管在Windows服务中的复杂远程处理应用程序,它非常有用。

log4net非常强大,也很容易配置。您可以始终执行最小日志记录,然后通过更改配置设置以多个增量开启更详细的日志记录。

答案 5 :(得分:1)

我建议使用包含Logging Application块的Microsoft Enterprise Library。我已经使用了一段时间,效果很好。

http://www.codeplex.com/entlib/Release/ProjectReleases.aspx?ReleaseId=4474

我在WebApps中使用它来写出虚拟目录。它非常精细,您可以轻松地为自己的应用程序自定义

这篇http://www.codeproject.com/KB/architecture/GetLoggingWithEntLib.aspx是关于使用它的好文章