如何使用 Serilog 向 OWIN 请求添加请求标识符?
How to add a request identifier to OWIN requests using Serilog?
我正在尝试获得与使用 SerilogWeb.Classic.WebApi 相同的效果:
app.Use(async (owinContext, next) =>
{
using (Serilog.Context.LogContext.PushProperty("HttpRequestId", Guid.NewGuid()))
{
await next();
}
});
和这个模板
{Timestamp:yyyy-MM-dd HH:mm:ss.ffffff zzz} [{Level:u3}] {HttpRequestId}: {SourceContext}: {Message} {Scope}{NewLine}{Exception}
但是 HtpRequestId
总是在日志中显示为空:
2017-09-18 23:26:13.056013 +01:00 [WRN] : <SourceContext>: <message>
我做错了什么?
您是否已将 Enrich.FromLogContext()
添加到您的 Serilog 配置中?在拾取环境上下文属性并将其添加到事件之前,需要选择加入。
我正在尝试获得与使用 SerilogWeb.Classic.WebApi 相同的效果:
app.Use(async (owinContext, next) =>
{
using (Serilog.Context.LogContext.PushProperty("HttpRequestId", Guid.NewGuid()))
{
await next();
}
});
和这个模板
{Timestamp:yyyy-MM-dd HH:mm:ss.ffffff zzz} [{Level:u3}] {HttpRequestId}: {SourceContext}: {Message} {Scope}{NewLine}{Exception}
但是 HtpRequestId
总是在日志中显示为空:
2017-09-18 23:26:13.056013 +01:00 [WRN] : <SourceContext>: <message>
我做错了什么?
您是否已将 Enrich.FromLogContext()
添加到您的 Serilog 配置中?在拾取环境上下文属性并将其添加到事件之前,需要选择加入。