我正在尝试通过 NLog 实现日志记录,并且有一些代码异味确实需要我的注意,但目前由于我的知识有限,我不确定如何处理它们。
以下是我不喜欢的东西
首先,我将 NLog 的实际实现隐藏在要与 DI 一起使用的接口后面,并且该类是单例。
目前我正在尝试记录尽可能多的信息,这意味着我正在从业务对象中的几乎每个方法调用记录器,并且我不喜欢我在 Logging 类上创建的依赖项。他们有更好的方法来记录每个方法而不是直接调用方法吗?在这里,我相信我违反了 Open Closed Principal,因为如果我更改了日志接口方法。所有的地狱都会崩溃,这种变化几乎会在每一种方法中产生涟漪。
其次,更可怕的部分是在某些情况下,我需要将一些额外的信息传递给我的记录器,例如 UserID、ProductCode 等。如果我将这些信息作为参数传递给记录器类,我什至不想考虑这条路。 .. 更有经验的人如何处理这些情况?
请提供您的反馈!