How to tell Application Insights to ignore 404 responses
You can modify the request telemetry and mark it as a Success
(not Fail
). This way, the request will be properly logged by the AI but as a successful one.
You need to implement a Telemetry Initializer.
Example:
public class CustomTelemetryInitializer : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
switch (telemetry)
{
case RequestTelemetry request when request.ResponseCode == "404":
request.Success = true;
break;
}
}
}
You can filter AI telemetry by implementing a Telemetry Processor. For example, you can filter out 404 Not Found telemetry by implementing the ITelemetryProcessor 'Process' method as follows:
public void Process(ITelemetry item)
{
RequestTelemetry requestTelemetry = item as RequestTelemetry;
if (requestTelemetry != null && int.Parse(requestTelemetry.ResponseCode) == (int)HttpStatusCode.NotFound)
{
return;
}
this.Next.Process(item);
}