如何使用 Amazon X-Ray 记录后台操作?
我没有看到任何错误,也没有看到任何记录的数据。
我正在使用 dotnet core SDK,但我想解决方案将与任何其他 SDK 类似。
解决方案是使用 AWSXRayRecorderBuilder 类,如下所示:
var xRayTracing = new AWSXRayRecorderBuilder()
.WithContextMissingStrategy(Amazon.XRay.Recorder.Core.Strategies.ContextMissingStrategy.LOG_ERROR)
.WithTraceContext(new AsyncLocalContextContainer())
.Build();
....
您还可以考虑填写 HttmlInformation,以便它将在 AWS 控制台的竞赛列表视图中可见:
var requestInformation = new Dictionary<string, object>
{
["url"] = "BackgroundProcessor",
["method"] = message.State
};
xRayTracing.AddHttpInformation("request", requestInformation);
实际的日志记录可以包含在 try/catch/finally 中:
try
{
// some actions here
}
catch (Exception ex)
{
xRayTracing.AddException(ex);
throw;
}
finally {
xRayTracing.EndSegment();
}