是否可以仅将错误日志发送到事件中心?

Posted

技术标签:

【中文标题】是否可以仅将错误日志发送到事件中心?【英文标题】:is it possible to send only error logs to event hub? 【发布时间】:2020-06-26 10:12:11 【问题描述】:

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

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

有什么方法可以在将日志发送到事件中心之前过滤日志或仅记录错误。

【问题讨论】:

【参考方案1】:

为了实现这一点,我将检查响应状态代码,并仅在 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 部分发送。请参阅here 了解更多信息。

【讨论】:

以上是关于是否可以仅将错误日志发送到事件中心?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将Azure信息保护活动日志流式传输到事件中心?

2.MySQL日志

来自另一个帐户中的事件中心的 Azure 函数触发器

monkey测试经验

是否可以将 Windows 事件记录到应用程序洞察中?

7.用邮件发送错误日志