gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:26:08 31 4
gpt4 key购买 nike

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

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

有人对在 DryIoc 中处理此问题的最佳方法有建议吗?这是否可能以相对通用和高效的方式进行?在查看 DryIoc 文档之后,我没有看到一个直接的方法,因为我没有看到可以在某种通用拦截器(并且可以全局应用)中确定正在注入(inject)的类的地方.我显然不想检查我的记录器的调用堆栈,因为众所周知这非常慢。

谢谢

最佳答案

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

关于c# - DryIoc 与 Serilog - 设置日志记录上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36984231/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com