我正在.NET Core Web应用程序的中间件类中将值推送到Serilog LogContext
:-
using LogContext.PushProperty("MyAct", "some clever joke") ...
是否可以在下游类中读取MyAct
属性的值?我在LogContext类上看不到任何有希望的东西-看起来像是只写实体,但也许我遗漏了一些东西?
答案 0 :(得分:1)
Serilog不提供您仅读取LogContext
中的值。
通常PushProperty
会将其存储,Enrich.FromLogContext
则负责获取上下文信息,这些信息将随日志记录调用捕获一起将它们与已分解的消息和令牌一同存储。 LogEvent
,然后将其传递到接收器链。
这真的是一个问题:why do you feel you need to do this?
实际回答这个问题:尽管底层API可能以可用的方式公开;我会去https://github.com/serilog/serilog-LogContext
的隐含性和测试都在该核心存储库中。