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