【问题标题】:Where to place logging code在哪里放置日志记录代码
【发布时间】:2009-09-22 08:44:43
【问题描述】:

我想知道在我的 C# 应用程序中应该将日志记录代码放在哪里。

假设我想记录程序参数(如 myapp.exe -arg1)。

参数是从入口类用 main() 传递的,然后到达一个简单的工厂类,该工厂类解析参数(实际上只有一个参数)并根据参数创建一个对象。

解析参数的工厂(层次结构的底部)应该负责记录参数,还是应该将参数记录在 main(层次结构的顶部)中。

我觉得工厂类是正确的地方,但我经常怀疑记录代码的正确位置,并且非常感谢我可以重用的一些好的最佳实践。

【问题讨论】:

    标签: c# logging


    【解决方案1】:

    我认为你应该登录工厂内部。

    如果您稍后迁移代码以在另一个环境中使用,则 main() 可能不存在。而所有 main() 正在做的就是传递这些信息。因此,如果您创建一个 ASP 应用程序,并希望保留相同的日志记录详细信息,那么工厂方法将很有用,因为工厂根据参数决定创建什么。

    【讨论】:

      【解决方案2】:

      作为一个自定义规则,我总是尽量将事情记录在调用堆栈中,同时仍然可以进行记录(以避免记录过于频繁调用的小方法)。如果您因为日志记录太低而失去了一些语义,您总是可以将扩展日志信息添加到更高的位置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-08-31
        • 2019-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-18
        • 2016-11-02
        • 1970-01-01
        相关资源
        最近更新 更多