erlang学习:用OTP构建系统2,警报管理

今日学习用OTP构建系统的警报管理,
首先进行配置错误记录器

[
  {sasl,
    [
      {sasl_error_logger, false},
      {error_logger_mf_dir, "/code/erlang/erlangstudy"},
      {error_logger_mf_maxbytes, 10485760},
      {error_logger_mf_maxfiles, 10}
    ]
  }
].

警报处理器gen_event的回调代码请添加图片描述

-module(my_alarm_handler).
-behaviour(gen_event).

-export([init/1, code_change/3, handle_event/2, handle_call/2, handle_info/2, terminate/2]).

init(Args) ->
  io:format("*** my_alarm_handler init:~p~n", [Args]),
  {ok, 0}.

handle_event({set_alarm, tooHot}, N) ->
  error_logger:error_msg("*** Tell the Engineer to turn on the fan~n"),
  {ok, N + 1};
handle_event({clear_alarm, tooHot}, N) ->
  error_logger:error_msg("*** Danger over. Turn off the fan~n"),
  {ok, N};
handle_event(Event, N) ->
  io:format("*** unmatched event:~p~n", [Event]),
  {ok, N}.

handle_call(_Request, N) ->
  Reply = N, {ok, Reply, N}.
handle_info(_Info, N) ->
  {ok, N}.

terminate(_Reason, _N) ->
  ok.
code_change(_OldVsn, State, _Extra) ->
  {ok, State}.

错误记录器方面相关内容配置完成了,并得到成功运行截图
请添加图片描述
启动系统,生成一个警报,安装警报处理器,再生成一个警报执行代码截图
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值