定义三个terminal_logger:
$$ terminal_logger1.erl
-module(terminal_logger1).
-behaviour(gen_event).
-export([init/1, handle_event/2, handle_call/2, handle_info/2, code_change/3, terminate/2]).
init(_Args) ->
{ok, []}.
handle_event(ErrorMsg, State) ->
io:format("*** Error1 *** ~p~n", [ErrorMsg]),
{ok, State}.
handle_call(_Request, _State) ->
{ok, [], []}.
handle_info(_Info, _State) ->
{ok, []}.
code_change(_OlvVsn, _State, _Extra) ->
ok.
terminate(_Args, _State) ->
ok.
$$ terminal_logger2.erl
-module(terminal_logger2).
-behaviour(gen_event).
-export([init/1, handle_event/2, handle_call/2, handle_info/2, code_change/3, terminate/2]).
init(_Args) ->
{ok, []}.
handle_event(ErrorMsg, State) ->
io:format("*** Error2 *** ~p~n", [ErrorMsg]),
{ok, State}.
handle_call(_Request, _State) ->
{ok, [], []}.
handle_info(_Info, _State) ->
{ok, []}.
code_change(_OlvVsn, _State, _Extra) ->
ok.
terminate(_Args, _State) ->
ok.
$$ terminal_logger3.erl
-module(terminal_logger3).
-behaviour(gen_event).
-export([init/1, handle_event/2, handle_call/2, handle_info/2, code_change/3, terminate/2]).
init(_Args) ->
{ok, []}.
handle_event(ErrorMsg, State) ->
io:format("*** Error3 *** ~p~n", [ErrorMsg]),
{ok, State}.
handle_call(_Request, _State) ->
{ok, [], []}.
handle_info(_Info, _State) ->
{ok, []}.
code_change(_OlvVsn, _State, _Extra) ->
ok.
terminate(_Args, _State) ->
ok.
编译:
Eshell> c(terminal_logger1).
Eshell> c(terminal_logger2).
Eshell> c(terminal_logger3).
运行:
D:\erl\code>erl
Eshell V5.6.3 (abort with ^G)
1> gen_event:start_link({local, error_man}).
{ok,<0.31.0>}
2> gen_event:add_handler(error_man, terminal_logger1, []).
ok
3> gen_event:add_handler(error_man, terminal_logger2, []).
ok
4> gen_event:add_handler(error_man, terminal_logger3, []).
ok
5> gen_event:which_handlers(error_man).
[terminal_logger3,terminal_logger2,terminal_logger1]
6> gen_event:notify(error_man, "Hideto").
*** Error3 *** "Hideto"
ok
*** Error2 *** "Hideto"
7> *** Error1 *** "Hideto"
7>
分享到:
相关推荐
:magnifying_glass_tilted_left:它能做什么 :thinking_face: Logger-app可以将事件记录到日志文件中。 与gRPC服务器通信的合同由event.proto文件定义。 event.proto是Google协议缓冲区,它为gRPC框架奠定了通信介质...
欢迎使用Proxy_SQL_Logger :waving_hand: PostgreSQL代理服务器,用于记录用户SQL查询 :house:安装make && ./proxy_sql_logger --user_side localhost:8080 --server_side localhost:5432 --log_file logs.txt作者 :...
flexi_logger 灵活易用的记录器,可将日志写入stderr和/或文件和/或其他输出流,并且在程序运行时可能会受到影响。 用法 将flexi_logger添加到项目的Cargo.toml的依赖项部分,使用 [ dependencies ] flexi_logger =...
该包装器还为Logger提供了OTP错误翻译Logger ,当:gen_state_machine应用程序启动时,该翻译Logger会自动添加。 (可选)如果不希望将翻译Logger添加到Logger ,可以将:gen_state_machine添加到:included_...
例子 1 > { ok , _Pid } = gen_event : start ({ local , yourlogger }),2 > ok = gen_event : add_handler ( yourlogger , fluent_event , myapp ),ep18 3 > ok = gen_event : notify ( yourlogger , { access , {...
大名鼎鼎的Dlib(人脸特征点定位神器),官网下载的用VS2015运行报错,故而搬运了这个可以运行的版本。
安装pip install simple_json_logger 测验python -m unittest discover 用法你好,世界 from simple_json_logger import JsonLoggerdef foo (): logger = JsonLogger () logger . info ( "Hello world!" )foo ()>> >...
env_logger 实现可以通过环境变量配置的记录器。 用法 在图书馆 env_logger在可执行文件(二进制项目)中使用时有意义。 图书馆应改用箱。 在可执行文件中 它必须与log一起添加到项目依赖项中: [ dependencies ] ...
标题中的"Event_Logger-8.1.rar_event"暗示了一个名为"Event Logger"的软件版本8.1,它被压缩成RAR格式的文件,可能包含了关于事件记录的相关内容。"event"标签进一步证实了这一点,这通常指的是系统或应用程序中...
frida_ssl_loggerssl_logger based on fridafor from修改内容优化了frida的JS脚本,修复了在新版frida上的语法错误;调整JS脚本,使其适配iOS和macOS,同时也兼容了Android;增加了更多的选项,使其能在多种情况下...
标题中的“HOLUX_ezTour_Logger_installer20090921_v1.03”指的是一个特定版本的HOLUX ezTour日志记录器安装程序,发布于2009年9月21日,版本号为v1.03。HOLUX是一家专注于GPS导航和定位设备的制造商,而ezTour可能...
代码,在 Nanode / Arduino 上运行并与 rfm_ecomanager_logger 对话。 密切关注日志记录过程(如 rfm_ecomanager_logger),并在检测到问题时发送电子邮件。 从功率数据文本文件创建简单的统计数据。 主要用于检查...
simple_logger 一个记录器,它以可读的输出格式打印所有消息。 输出格式基于使用的格式。用法use simple_logger :: SimpleLogger;fn main () { SimpleLogger :: new (). init (). unwrap (); log :: warn! ( "This ...
activity_logger.pl在后台运行并监控计算机何时处于活动或空闲状态,以及哪个程序在前台。 它将将此数据存储在日志文件中。 提供了几个脚本来帮助分析记录的数据。 此代码在下获得 安装 将activity_logger.pl脚本...
EctoLoggerJson 将ecto数据记录为JSON,但字段略有不同依存关系毒埃克托安装如果,则可以将软件包安装为: 添加ecto_logger_json到您的依赖项列表mix.exs : ```elixirdef deps do [{:ecto_logger_json, "~> 0.1.0"}...
https://github.com/orhanobut/logger 把这个代码功能做成了一个jar包,可以在Eclipse中使用的logger架包。
2. 在你的应用启动模块(通常是`MyApp.Web`或类似)中,配置`Plug.Logger`和`plug_logger_json`: ```elixir defmodule MyApp.Web do use Plug.Builder plug(Plug.Logger) plug Plug.LoggerJson, log_level: :...
《DLL_logger_4.0.1.107:优化与增强动态链接库日志记录功能》 在软件开发过程中,动态链接库(DLL)扮演着至关重要的角色,它允许程序共享代码和资源,提高效率并减少内存占用。DLL_logger_4.0.1.107是一个专门...
日志系统提供了丰富的文件操作接口,包括`logger_open`、`logger_read`、`logger_aio_write`、`logger_ioctl`和`logger_poll`,涵盖了日志的读写控制、状态查询等功能。 - `logger_open`:根据打开模式(读/写)...
**logger_logstash_backend:Elixir Logger的Logstash后端** 在Elixir开发中,日志管理是关键的组成部分,它帮助开发者追踪应用的行为、错误和性能。`logger_logstash_backend`是一个Elixir库,它为Elixir的内置...