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);
}