当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


erlang add_handlers(HandlerConfig)用法及代码示例


add_handlers(HandlerConfig) -> ok | {error, term()}
OTP 21.0
类型:
HandlerConfig = [config_handler()]
config_handler() =
{处理程序,handler_id(),module(),handler_config()}

自定义 Logger 处理程序应使用此函数,以使配置保持一致,无论系统使用哪个处理程序。正常用法是在处理程序所需的进程启动后添加对 logger:add_handlers/1 的调用,并将应用程序的 logger 配置作为参数传递。例如:

-behaviour(application).
start(_, []) ->
    case supervisor:start_link({local, my_sup}, my_sup, []) of
        {ok, Pid} ->
            ok = logger:add_handlers(my_app),
            {ok, Pid, []};
        Error -> Error
     end.

这读到logger配置参数来自my_app应用程序并启动配置的处理程序。配置内容使用相同的规则记录器处理程序配置.

如果该处理程序旨在替换默认处理程序,则必须在添加新处理程序之前禁用内核的默认处理程序。禁用内核处理程序并添加自定义处理程序的 sys.config 文件可能如下所示:

[{kernel,
  [{logger,
    %% Disable the default Kernel handler
    [{handler, default, undefined}]}]},
 {my_app,
  [{logger,
    %% Enable this handler as the default
    [{handler, default, my_handler, #{}}]}]}].

相关用法


注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 add_handlers(HandlerConfig) -> ok | {error, term()}。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。