.Net Logger(编写自己的vs log4net/enterprise logger/nlog等)

Jac*_*ack 7 .net c# logging

我在一个拥有约50多名开发人员的IT部门工作.它曾经是大约100多名开发商,但由于经济衰退而被削减.

当我们的部门规模扩大时,我们已经做出了雄心勃勃的努力来建立一个特殊的建筑群.

该小组决定做的一件事是创建我们自己的内部记录器.他们认为这是一项如此简单的任务,我们可以花费资源并自行完成.现在我们遇到了性能问题和查看生成日志的困难,一些员工对我们在这样的基础设施上花费资源而不是专注于服务我们的业务和使用已经存在的东西如log4net或Enterprise Logger感到沮丧.

你能帮助我列出了为什么你应该原因不能创建自己的.NET记录.

为什么你应该被欢迎获得公平的观点:)的原因:)

Mos*_*evi 16

在我上一份工作中,几乎所有的基础设施都是由我们编写的,而不是使用一些现成的产品.(以及"所有基础设施"我的意思是所有的 - 记录,消息传递,数据库,容器等等).

它最大的缺点之一是它使我们花费大部分时间来处理与最终用户无关的事情,而不是添加更多功能.

从那份工作中,我学会了始终专注于你的产品要解决的问题.贵公司是否正在开发伐木机?您的记录器的质量是否会影响您的客户而不是其他功能?我不这么认为.

你的预算和人力有限 - 明智地使用它.不要重新发明轮子.如果您将注意力集中在他们需要的东西上,我相信您的公司和您的客户将会受益.

在我当前的项目中,我使用NHibernate作为ORM框架,而不是在其他项目中使用的内部框架.而不是修复旧的ORM框架中的错误,我的重点是项目的主要路线图.此外,NHibernate有自己的路线图,这意味着我的公司没有太多资源就可以获得额外的功能.

  • 一个大+1!因此,许多公司和开发人员都陷入了非发明的综合症. (2认同)

Ale*_*eby 9

我会采取不同的方法.如何首先将公共接口引入您自己的库,例如Common Infrastructure Libraries(http://netcommon.sourceforge.net/).然后,您可以逐步将所有项目移动到该接口,如果您自己的库不适合大型项目的工作,那么只需切换到其中一个开源框架(甚至是商业解决方案).

HTH Alex