如何使用Serilog向OWIN请求添加请求标识符?

时间:2017-09-19 08:07:40

标签: asp.net-web-api owin serilog owin-middleware

我尝试使用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>

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您是否已将Enrich.FromLogContext()添加到Serilog配置中?在选择环境上下文属性并将其添加到事件之前,需要选择此选项。

相关问题