- 删除事件处理器
删除事件处理器
- 4> gen_event:delete_handler(error_man, terminal_logger, []).
- ok
这函数给注册为 error_man 的事件管理器发送了一个消息,告诉它要删除处理器 terminal_logger 。事件管理器会调用回调函数 terminal_logger:terminate([]) ,其中参数[]是传给 delete_handler 的第三个参数。 terminate 应该和 init 相反,进行必要的清理工作。它的返回值会被忽略。
对于 terminal_logger ,无须任何清理:
- terminate(_Args, _State) ->
- ok.
对于 file_logger ,在 init 中打开的文件描述符需要被关闭:
- terminate(_Args, Fd) ->
- file:close(Fd).