【发布时间】:2019-09-09 07:39:28
【问题描述】:
当有人写一个Microsoft.Extensions.Logging.ILogger.LogCritical() 电话时,肯定发生了一些严重的事情。我希望它在调试器中运行时会(记录关键和)中断。我试过How to override an existing extension method 的答案,它需要使用特殊的命名空间。但是我希望大家可以自然的使用LogCritical(),不用再仔细检查是调用原来的LogCritical()还是我被困的那个。
我能想到的唯一方法是用我的替换后备日志库,并使用我的中断逻辑将调用重定向到日志库。但是这个工具仅限于指定的库。如果将来我想更改库,我需要实现另一个库。并实现它需要的所有无聊的接口,只是为了几个LogCritical()相关的破坏逻辑。
所以,我希望捕获一般的ILogger.LogCritical() 调用,而不是底层的具体调用。这可能吗?
【问题讨论】:
-
.NET Core 日志框架允许您注册许多记录器,我建议您创建一个新的自定义记录器来执行您想要的操作,并将其与现有的 NLog 记录器结合使用。
标签: c# debugging .net-core nlog ilogger