带有Seri​​log的DryIoc - 设置记录上下文

时间:2016-05-02 13:56:15

标签: c# serilog dryioc

我们目前正在使用Autofac,并且正在利用AutofacSerilogIntegration在ILogger注入混凝土时自动设置日志记录上下文。集成使用记录器注入的类型设置日志记录上下文。这在Autofac中并不是不合理的,因为有一个“准备”事件可用于任何分辨率...因此可以拦截ILogger的分辨率,并且可以在此时增强ILogger,并且Autofac允许包含类型从这个拦截器中确定。这是代码: https://github.com/nblumhardt/autofac-serilog-integration/blob/master/src/AutofacSerilogIntegration/ContextualLoggingModule.cs

我已经看到了DryIoc中拦截的可用性,但没有像Autofac方法那么简单。在DryIoc中,看起来拦截器必须为每个注入要被拦截的类型注入的混凝土进行注册。 https://bitbucket.org/dadhi/dryioc/wiki/Decorators#markdown-header-decorator-as-interceptor-with-castle-dynamicproxy

是否有人就DryIoc中解决此问题的最佳方法提出建议?这是否可能以相对一般和高效的方式进行?在查看DryIoc文档后,我没有看到直接的方法,因为我没有看到注入的类可以在某种通用拦截器中确定的位置(并且可以全局应用) 。我显然不想从我的记录器中检查调用堆栈,因为这已知非常慢。

由于

1 个答案:

答案 0 :(得分:2)

如果serilog需要有关记录类型的信息,类似于log4net,那么这里是docs with example