2

我在 azure apim 中创建了一个诊断设置并将日志发送到事件中心。

但现在的要求是我只需要将错误日志从 azure api 管理传递到事件中心。当前设置将所有成功和失败日志传递到事件中心。

有没有办法在将日志发送到事件中心或仅记录错误之前过滤日志。

4

1 回答 1

2

outbound为了实现这一点,我将检查响应状态代码,并且仅在策略部分出现错误的情况下发送到 eventthub all operations

<policies>
    <inbound>
        <base />
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
        <choose>
            <when condition="@(context.Response.StatusCode.ToString() >= "400")">
                <log-to-eventhub logger-id ="ehLogger">
                    @(...)
                </log-to-eventhub>        
            </when>
            <otherwise>
            </otherwise>
        </choose>
    </outbound>
    <on-error>
        <base />
        <log-to-eventhub logger-id ="ehLogger">
            @(...)
        </log-to-eventhub>        
    </on-error>
</policies>

这是针对来自后端的响应错误。如果您指的是请求/策略处理中发生的错误,您只会从on-error部分发送。请参阅此处了解更多信息。

于 2020-06-29T03:42:21.813 回答