Common.Logging - 如何在日志写入时获得回调?

时间:2011-05-27 10:41:34

标签: c# .net logging common.logging

我有一个使用Common.Logging的库。我需要在对其日志进行任何写入时调用我的代码。

3 个答案:

答案 0 :(得分:2)

如果您不想更改任何内容,可以使用AOP拦截对Common.Logging的方法调用,但请记住AOP会在运行时注入代码的场景后面添加大量开销。否则您可以包装/扩展Common.Loggin并创建自己的Write方法,该方法调用将指向您要执行的代码的委托(回调类型)

答案 1 :(得分:1)

如果您的日志记录是针对接口设计的,则可以使用Decorator模式创建新的Logging,它将在内部调用原始Logging。

然后你可以注册新的DecoratorLogging以防止ILogging(通过依赖注入),以便ILogging的任何消费者都不会知道他们实际上正在使用你的新记录器:)

答案 2 :(得分:0)

将我自己的适配器设置为LogManager.Adapter工作正常。