瀏覽代碼

Don't use code:load it breaks coverage

pull/119/head
Andrew Thompson 12 年之前
父節點
當前提交
e87cf8e14e
共有 1 個文件被更改,包括 9 次插入6 次删除
  1. +9
    -6
      src/lager_app.erl

+ 9
- 6
src/lager_app.erl 查看文件

@ -95,12 +95,15 @@ expand_handlers([{lager_file_backend, Configs}|T]) ->
[ {lager_file_backend:config_to_id(Config), Config} || Config <- Configs] ++
expand_handlers(T);
expand_handlers([{Mod, Config}|T]) when is_atom(Mod) ->
%% allow the backend to generate a gen_event handler id, if it wants to
_ = code:load_file(Mod),
Res = case erlang:function_exported(Mod, config_to_id, 1) of
true ->
{Mod:config_to_id(Config), Config};
false ->
%% Allow the backend to generate a gen_event handler id, if it wants to.
%% We don't use erlang:function_exported here because that requires the module
%% already be loaded, which is unlikely at this phase of startup. Using code:load
%% caused undesireable side-effects with generating code-coverage reports.
Res = try Mod:config_to_id(Config) of
Id ->
{Id, Config}
catch
_:_ ->
{Mod, Config}
end,
[Res | expand_handlers(T)];

Loading…
取消
儲存