當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。