非常教程

Erlang 20参考手册

sasl

alarm_handler

模块

报警[医]处理程序

模块摘要

报警处理过程

描述

警报处理程序是gen_event在系统中接收警报的事件管理器进程。此过程不打算成为一个完整的警报处理程序。它定义了一个可以发送警报的地方。在启动时,警报处理程序中安装了一个简单的事件处理程序,但鼓励用户编写和安装自己的处理程序。

简单事件处理程序将所有警报作为info报告发送给错误记录器,并将所有警报保存在一个列表中。此列表可以传递给用户定义的事件处理程序,该事件处理程序可以在以后安装.。如果产生多个警报,列表就会变大。这是一个很好的理由来安装一个更好的用户定义的处理程序。

提供函数来设置和清除警报。报警格式由用户定义。例如,可以定义用于SNMP的事件处理程序,以及警报管理信息库(MIB)。

警报处理程序是SASL应用程序的一部分。

为警报处理程序编写新的事件处理程序时,必须处理下列事件:

{set_alarm, {AlarmId, AlarmDescr}}

此事件由alarm_handler:set_alarm({AlarmId, AlarmDecsr})...

{clear_alarm, AlarmId}

此事件由alarm_handler:clear_alarm(AlarmId)...

默认的简单处理程序被调用。alarm_handler它可以通过呼叫交换gen_event:swap_handler/3gen_event:swap_handler(alarm_handler, {alarm_handler, swap}, {NewHandler, Args})...NewHandler:init({Args, {alarm_handler, Alarms}})叫做。有关详细信息,请参阅gen_event(3)在STDLIB。

出口

clear_alarm(AlarmId) -> void()

类型

发送事件clear_alarm所有事件处理程序。

当接收到该事件时,默认的简单处理程序将清除最近接收到的带有ID的警报AlarmId

get_alarms() -> [alarm()]

返回所有活动警报的列表。此函数只能在安装简单处理程序时使用。

set_alarm(alarm())

类型

发送事件set_alarm所有事件处理程序。

当接收到此事件时,默认的简单处理程序会存储警报。AlarmId识别警报并在警报被清除时使用。

另见

error_logger(3),,,gen_event(3)

Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1