我使用静态Logger进行以下设置:
Log.Logger = new LoggerConfiguration()
.WriteTo.Seq("http://localhost:5341)
.CreateLogger();
在我的所有微服务中都有以下内容:
_log = Log.ForContext<GameBase>()
.ForContext("CustomerID", CustomerID);
此代码在每个事件中插入CustomerID属性,但不在消息正文中插入。
问题:有没有办法丰富此上下文的所有日志,以便MESSAGE BODY也包含此信息?就像一个将字符串添加到每个消息体的丰富程序?我确实希望在活动中看到一些项目,而无需深入了解每个事件。
另外,我没有找到关于Enrichers的更多文档。有没有显示完整的上下文路径?
消息体在Sink级别配置,通常通过定义outputTemplate
(如果Sink支持它,而不是所有它都支持它)。通过使用ForContext
,您可以将CustomerID
属性用于写入此日志实例的所有消息,但是您在Sink配置中定义了如何使用/显示此属性。
您可以在Formatting Output下的Serilog文档中看到示例