将不成功的请求记录到 Application Insights
Log unsuccessful requests to Application Insights
根据 the documentation 和我记得我以前做过的事情,应该可以记录自定义的不成功请求。但是使用此代码,只有第一个代码写入 Application Insights。我已经在没有任何过滤器的新香草溶液中尝试过它。
using (var operation = client.StartOperation<RequestTelemetry>("SuccessfulRequest"))
{
operation.Telemetry.Success = true;
}
using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
operation.Telemetry.Success = false;
}
我是不是遗漏了什么或者不能再这样做了?
似乎设置响应代码就可以了。
using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
operation.Telemetry.ResponseCode = "whatever";
operation.Telemetry.Success = false;
}
根据提供的文档,您的代码将分析自定义代码片段
{
operation.Telemetry.Success = false;
}
而不是整个请求。
我知道您想要设置一个 属性 来将整个请求标记为不成功。根据您的应用程序,您可能希望查看 自定义遥测处理器 ,它允许您在遥测项目 运行 通过您的管道后修改它们。可以找到一个很好的例子 here。
请记住,您必须根据需要调整示例代码。
根据 the documentation 和我记得我以前做过的事情,应该可以记录自定义的不成功请求。但是使用此代码,只有第一个代码写入 Application Insights。我已经在没有任何过滤器的新香草溶液中尝试过它。
using (var operation = client.StartOperation<RequestTelemetry>("SuccessfulRequest"))
{
operation.Telemetry.Success = true;
}
using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
operation.Telemetry.Success = false;
}
我是不是遗漏了什么或者不能再这样做了?
似乎设置响应代码就可以了。
using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
operation.Telemetry.ResponseCode = "whatever";
operation.Telemetry.Success = false;
}
根据提供的文档,您的代码将分析自定义代码片段
{
operation.Telemetry.Success = false;
}
而不是整个请求。
我知道您想要设置一个 属性 来将整个请求标记为不成功。根据您的应用程序,您可能希望查看 自定义遥测处理器 ,它允许您在遥测项目 运行 通过您的管道后修改它们。可以找到一个很好的例子 here。 请记住,您必须根据需要调整示例代码。