在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>
感谢您的帮助!
答案 0 :(得分:12)
您可以尝试使用log4net框架。它是非常强大的开源.NET日志框架。看看Log4net web site
答案 1 :(得分:5)
你应该看看log4net。见this question 它可能看起来比您现在所需要的更多,但是一旦您将其作为您的架构的一部分,它将随时可用并随时可用。
答案 2 :(得分:5)
如果您只是要查找将其返回给用户的例外日志,请尝试ELMAH:
http://code.google.com/p/elmah/
另一方面,如果您希望跟踪应用中的活动,您当然可以尝试使用log4net。我更喜欢自己的nLog,你可以在这里找到它:
这两个都是开源的。
答案 3 :(得分:3)
您可以尝试使用.NET 2.0内置的System.Diagnosis.TraceSource
答案 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是关于使用它的好文章