DryIoc 与 Serilog - 设置日志记录上下文

DryIoc with Serilog - Setting up Logging Context

我们目前正在使用 Autofac,并利用 AutofacSerilogIntegration 在将 ILogger 注入混凝土时自动设置日志记录上下文。集成使用记录器注入的类型设置日志记录上下文。这在 Autofac 中并不难,因为有一个 "Preparing" 事件可用于任何分辨率...因此可以拦截 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 文档之后,我没有看到一个直接的方法,因为我没有看到可以在某种通用拦截器中确定正在注入的 class 的地方(并且可以全局应用)。我显然不想检查我的记录器的调用堆栈,因为众所周知这非常慢。

谢谢

如果Serilog需要类似于log4net的日志类型的信息,那么这里是docs with example