14 .net asp.net logging log4net elmah
有没有人有log4net的经验,我一直在看elmah这是伟大的.但我想要更多的控制,即不仅在asp.net中使用日志记录,而且在wpf中也使用日志记录.
Anway我决定看看log4net.
我有两个共享业务逻辑的客户端(wpf和asp.net).
我应该在业务逻辑和客户端中提升事件吗?
我假设业务逻辑将使用app.config/web.config(业务逻辑在另一层 - 一个类项目)
有没有人和elmah一起使用log4net,无论如何你可以让他们共享同一个db表吗?
log4net在我看来是最终的日志框架,但是elmah具有提交所有SERVER变量和堆栈跟踪等的优势
或者也许它可以获得log4net来保存Stacktrace并完全取代elmah?
任何评论都非常感谢
zvo*_*kov 25
它们用于两个不同的目的.
Elmah用于捕获和存储您不期望的异常.它还提供了一些用于传递异常的前端(网页,RSS,电子邮件警报器).
另一方面,Log4net用于记录您可能知道可能发生的事件(包括由异常引起的错误)(否则您将没有try/catch块).
因此,您应该使用两者,而不是一个或另一个.
要回答您的具体问题,您可以使用log4net来记录异常的堆栈跟踪,但通常不应记录您记录的每个调试消息的堆栈跟踪.也可以记录服务器变量和其他特定于Web的内容,但需要一些您不想做的自定义编码.
我已经使用 log4net 一段时间了,我主要让数据层和业务层完成所有错误日志记录。但是,如果您的表示层对对象进行了大量的“计算”,那么在那里记录适当的信息也是值得的。
您可以将 log4net 配置为将其设置存储在 .config 文件中,或者存储在其自己的单独配置文件中。单独文件的优点是,如果您需要动态切换日志记录模式,可以在单独的 .config 文件中执行此操作,而不必让 IIS 触发站点的应用程序刷新。
我还没用过 ELMAH,但它看起来确实很不错。我认为更重要的是,它提供了一种轻松插入现有应用程序的方法。然而,log4net 确实提供了一种更简单的方法来获取更详细和更广泛的日志信息,因为您有很多配置选项可供使用。
如果您的应用程序不需要细粒度的日志记录,我会选择 ELMAH。如果您想采用更详细的方法,请花时间将 log4net 融入您的应用程序中。
这是我的10位。
| 归档时间: |
|
| 查看次数: |
5798 次 |
| 最近记录: |