c# - 以后有什么方法可以在下游类中读取 Serilog 的 LogContext 吗?
问题描述
我正在将值推送到LogContext
.NET Core Web 应用程序的中间件类中的 Serilog:-
using LogContext.PushProperty("MyAct", "some clever joke") ...
是否可以读取MyAct
下游类中的属性值?我在 LogContext 类上看不到任何有希望的东西 - 似乎是一个只写实体,但也许我遗漏了一些东西?
解决方案
Serilog 不提供您从LogContext
.
通常情况下,PushProperty
存储它,并Enrich.FromLogContext
负责获取将伴随解构消息和令牌的上下文信息,因为日志记录调用将它们捕获到LogEvent
然后传递到sinks链中。
这真的引出了一个问题:你为什么觉得你需要这样做?
实际上回答了这个问题:尽管底层 API 可能以可用的方式公开;我会去https://github.com/serilog/serilog - LogContext
impl 和测试都在那个核心 repo 中。
推荐阅读
- javascript - 如何修剪页面?
- python - 使用 pandas 从另一列和多个输入之间最接近的匹配中查找一列的值
- python - 比较 2 个字典值并将最大值添加到第 3 个字典
- android - 无法在flutter项目中导入任何android包
- python - (Python) 检查一个元素是否与下一个元素相同的函数,检查最后一个元素时返回 IndexError
- r - 在 R (kruskal.test) 中组织多个 p 值
- sql - SQL 错误:ORA-00932:不一致的数据类型:预期的 DATE 得到了 NUMBER 00932。00000 -“不一致的数据类型:预期的 %s 得到了 %s”
- entity-framework - EF Core 的 DBContext 中实体的依赖注入
- python - Python Matplotlib:如何为图例添加“坏”颜色?
- excel - 保护某些范围不被编辑和删除,但允许使用分组