在 Azure 函数中使用相关 ID 进行记录
Logging With Correlation Id in Azure Function
任何人都可以建议我如何实现为每个 http 请求的可追溯性添加关联 ID 到以下功能。
[FunctionName("GetCars")]
public async Task<IActionResult> GetCars([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "api/v1/id/{id}")] HttpRequest req, Guid id)
{
try
{
if (id == Guid.Empty)
{
_logger.LogError("Id is Empty");
}
var cars= _deviceService.GetCars(id);
return new OkObjectResult(cars);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to Fetch Cars");
}
}
所以如果我没记错的话,你想要的是在出现异常的情况下你可以在正文中 return *一些东西* 以便你可以在 Application Insights 中找到那个事件?如果是这样,试试这个:
var requestTelemetry = req.HttpContext.Features.Get<RequestTelemetry>();
var operationId = requestTelemetry.Context.Operation.Id;
并将 operationId 作为结果的一部分发送。
operationId 可用于在 Application Insights 中跟踪整个操作,从请求到异常。
任何人都可以建议我如何实现为每个 http 请求的可追溯性添加关联 ID 到以下功能。
[FunctionName("GetCars")]
public async Task<IActionResult> GetCars([HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "api/v1/id/{id}")] HttpRequest req, Guid id)
{
try
{
if (id == Guid.Empty)
{
_logger.LogError("Id is Empty");
}
var cars= _deviceService.GetCars(id);
return new OkObjectResult(cars);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to Fetch Cars");
}
}
所以如果我没记错的话,你想要的是在出现异常的情况下你可以在正文中 return *一些东西* 以便你可以在 Application Insights 中找到那个事件?如果是这样,试试这个:
var requestTelemetry = req.HttpContext.Features.Get<RequestTelemetry>();
var operationId = requestTelemetry.Context.Operation.Id;
并将 operationId 作为结果的一部分发送。
operationId 可用于在 Application Insights 中跟踪整个操作,从请求到异常。