0
我管理一个向我喜爱的用户显示“用户友好”错误的服务。如果他们遇到错误,他们通常会呼叫支持并提及RequestId。我用下面的代码获得这个请求ID:asp.net核心中的日志请求ID
public string RequestId => Activity.Current?.Id ?? HttpContext.TraceIdentifier;
现在有趣的是......我们显示的ID给用户,但我们不把它放在我们的日志:)。
目前,我们把所有的日志使用此代码
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
(...)
loggerFactory.AddAWSProvider(
Configuration.GetAWSLoggingConfigSection("Cloudwatch"),
(l, obj, ex) =>
{
var level = "info";
if (l == LogLevel.Error || l == LogLevel.Critical) level = "error";
else if (l == LogLevel.Warning) level = "warn";
return JsonConvert.SerializeObject(new
{
level,
msg = ex?.Message ?? obj.ToString(),
meta = ex?.ToString()
});
});
(...)
}
到CloudWatch的我有一些很难找到一个好办法,HttpRequest中一路发下来这个拉姆达这样我就可以不断记录的ID。
你会如何处理?
谢谢 勒布
Omg!我会在下周一试试! Thx – Seb
它可以正常工作! – Seb