我在 azure apim 中创建了一个诊断设置并将日志发送到事件中心。
但现在的要求是我只需要将错误日志从 azure api 管理传递到事件中心。当前设置将所有成功和失败日志传递到事件中心。
有没有办法在将日志发送到事件中心或仅记录错误之前过滤日志。
我在 azure apim 中创建了一个诊断设置并将日志发送到事件中心。
但现在的要求是我只需要将错误日志从 azure api 管理传递到事件中心。当前设置将所有成功和失败日志传递到事件中心。
有没有办法在将日志发送到事件中心或仅记录错误之前过滤日志。
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
部分发送。请参阅此处了解更多信息。