2011-07-24 43 views
1

我想知道你是否建议(在你看来)使用/建立一个日志封装器如Common.Logging为了使用某种记录器?
我认为使用这种包装是:
1.启用需要时更改记录器库。
2.使API更容易。
最后真的很重要吗?或者记录器易于使用,不需要简化记录器或像这样改变记录器。 谢谢。使用日志封装器

+0

这个问题还不清楚。一切都很重要。 “记录器易于使用”并且不需要简化,这意味着什么?你问如果一个框架库经常改变?或者如果使用本地日志记录代码经常改变。你的问题到底是什么? – Hogan

+0

正如我在你的意见中写的那样......你使用过它吗?它是否聪明 – guyl

+0

是的,它是好的使用它。编程的第一条规则 - 不要重写,重用。那就是:如果其他人写了一些能够提供你所需要的东西,那么尽可能使用这个库。我推荐ELMAH – Hogan

回答

3

我已经编写了一个包装日志记录库,它使用asp.net网站的健康监控和针对windows/console应用程序的log4net。通过这种方式,日志记录界面始终保持不变,易于在企业范围内使用。在我们的例子中,我们只想记录几个类别,错误/调试/信息等。如果您认为您需要使用特定日志记录库的某些特殊功能,则可以选择直接实施它。如果您正在使用任何第三方日志记录库,那么最好有一个包装器,因为如果停止对该支持的支持,或者您需要稍后转移到更好的支持。

决策总是几乎取决于您的具体需求和未来计划。

+0

报价:“健康监测” - 你可以请飞机吗? – guyl

+0

也是有道理的。 – guyl

+1

您可以配置sql存储过程参数,以便将日志信息存储到健康监视的sql提供程序中。您也可以编写自定义提供程序。当你调用log.LogError时,你可以控制哪些日志记录源被调用。看看这个链接的初学者。 http://www.asp.net/hosting/tutorials/logging-error-details-with-asp-net-health-monitoring-cs –

1

我不会这样做,没有一个很好的具体原因来做到这一点。

我认为你很可能不想改变日志记录库,除非你在开始时选择的不好。

您可能会想要的是使用特定于您选择的记录器的功能,但这意味着包装并不是很有用。

+0

有道理。谢谢 – guyl