我正在使用我用.Enrich.FromLogContext()
丰富的Serilog记录器。
我在整个应用程序中向上下文添加了各种属性。我希望能够阅读当前在上下文中的属性。我可以使用LogContext.PushProperty()
向上下文添加属性,但是我没有找到任何好方法来公开已添加的方法。
解决此问题的一种方法是在记录器上创建一个过滤器并检查LogEvent.Properties
,然后根据我找到的内容设置一些外部变量。但这有几个缺点。它会在每次记录消息时添加此检查,从而减慢速度。这完全不是过滤器的意图。而且我不确定这是否是线程安全的,因此不同的上下文可以同时更新外部变量。