我有一个库,它使用Common.Logging。我需要让我的代码在任何对日志的写入发生时被调用。
发布于 2011-06-03 14:06:04
将我自己的适配器设置到LogManager.Adapter中工作正常。
发布于 2011-05-27 18:54:06
如果你不想改变任何东西,你可以使用AOP拦截对Common.Logging的方法调用,但是要记住AOP增加了很多开销,因为它在运行time.Otherwise时注入了代码,你可以包装/扩展Common.Loggin并创建自己的写方法,调用一个指向你想要执行的代码的委托(类似于回调)
发布于 2011-05-27 19:00:09
如果您的日志被设计为一个接口,您可以使用Decorator pattern创建新的日志,它将在内部调用原始日志。
然后,您可以将新的DecoratorLogging注册到您已有的ILogging上(通过依赖注入),这样ILogging的任何使用者都不会知道他们实际上正在使用您的新记录器:)
https://stackoverflow.com/questions/6151105
复制相似问题