首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >现有.NET网络应用程序中的被动日志记录?

现有.NET网络应用程序中的被动日志记录?
EN

Stack Overflow用户
提问于 2009-07-14 18:50:27
回答 3查看 484关注 0票数 3

我刚刚开始开发一个brownfield ASP.NET 2.0Web应用程序。与许多brownfield应用程序一样,该体系结构,特别是异常日志体系结构,在某些地方是不一致的,并且在某些地方丢失或不正确(吞并异常、重新抛出、将它们用于控制逻辑等)。

作为控制这一切的起点,我只想做一个毯子捕捉应用程序中抛出的所有异常,并像DB表一样将其记录到某个地方。不幸的是,要将代码解释到应用程序中需要花费很多天甚至几个星期的时间,这样就排除了手工编码的可能性。将logger.log(例如)放在任何地方,以及log4net和nlog之类的东西。我在寻找另一种更轻的解决问题的方法。

在这里快速阅读之后,我遇到了各种各样的技巧,比如:

  • 面向方面的编程,如
    • 基于属性
    • Post夏普库
    • 微软统一
    • 城堡团结

  • 网络处理程序
    • ELMAH
    • 其他?

人们对这些解决方案的经验是什么?请记住,我希望尽可能简单、无痛苦地实现这一点,因此在这个阶段不需要任何提示。我所需要的就是将每一个异常报告到单个位置,这样我就可以开始在逻辑中查找漏洞。

编辑:

我可能应该清楚地表明,我想记录*所有*异常(即使是那些被处理的异常,因为有些异常被错误地处理)。可以配置Elmah来完成这个任务吗?如果没有,我的其他选择是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-14 18:57:03

我完全推荐elmah插件到您的应用程序中。找出问题出在哪里,真是让人大开眼界。我的应用程序中有几个未报告的超时,例如,我已经识别并修复了这些超时。

简单无痛。除了对web.config的一些额外行之外,它不涉及对代码的任何更改。您可以添加它并在10分钟内查看异常。

票数 5
EN

Stack Overflow用户

发布于 2009-07-14 18:52:11

不要加任何渔获物。启用ASP.NET健康监测。如果愿意,可以将其配置为登录到数据库。

除此之外,我还要使用企业图书馆,特别是异常应用程序块和日志应用程序块。可以在任何地方应用日志记录(可以在生产中将其配置为off ),但只能在层边界捕获异常--比如在公共DAL方法中。

企业库的好处之一是,如果您对此感兴趣,那么操作设计项目就能很好地发挥它的作用:

项目的重点是开发工具和指导,以帮助开发Windows平台上高度可管理的应用程序。 这个项目已经创建了两个可交付的项目。首先是Visual Studio Team System Management Model Designer Power Tool (TSMMD)。TSMMD是一种用于对业务健康场景和相关工具进行建模的工具。该工具包括生成平台插装的指导包(称为The )和验证器,以确认应用程序源代码包含在Health中定义的工具。然后,可以使用该工具为2007生成管理包。最后是“管理指南”,其中包含关于在Microsoft平台上构建高度可管理的应用程序的说明性指导。

票数 3
EN

Stack Overflow用户

发布于 2009-07-14 18:55:35

考虑使用面向方面的框架将日志代码注入源代码预编译时间。日志记录是AOP的教科书应用程序,所以大多数包应该能够处理您的需求。

这是一个很好的AOP库列表。http://www.bodden.de/tools/aop-dot-net/

大约4年前,我在.NET上玩过AOP,从那时起,这些库似乎已经成熟了很多。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1127269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档