diff --git a/src/lager_app.erl b/src/lager_app.erl index bb05a2c..3d8791d 100644 --- a/src/lager_app.erl +++ b/src/lager_app.erl @@ -164,16 +164,9 @@ wrap_proplist_value(undefined) -> wrap_proplist_value(Value) -> {ok, Value}. -%% The default sink has always been lager_event. Using 'lager_lager_event' is likely to break -%% historical code and lots of tests. -make_internal_sink_name(lager) -> ?DEFAULT_SINK; - -make_internal_sink_name(Sink) -> - list_to_atom(atom_to_list(Sink) ++ "_lager_event"). - configure_sink(Sink, SinkDef) -> lager_config:new_sink(Sink), - ChildId = make_internal_sink_name(Sink), + ChildId = lager_util:make_internal_sink_name(Sink), _ = supervisor:start_child(lager_sup, {ChildId, {gen_event, start_link, diff --git a/src/lager_transform.erl b/src/lager_transform.erl index ee1640e..208a069 100644 --- a/src/lager_transform.erl +++ b/src/lager_transform.erl @@ -79,13 +79,6 @@ walk_body(Acc, []) -> walk_body(Acc, [H|T]) -> walk_body([transform_statement(H, get(sinks))|Acc], T). -%% 'lager' is special cased because its sink has *always* been named 'lager_event' -make_internal_sink_name(lager) -> ?DEFAULT_SINK; - -%% Everything else should be Sink++_lager_event -make_internal_sink_name(Sink) -> - list_to_atom(atom_to_list(Sink) ++ "_lager_event"). - transform_statement({call, Line, {remote, _Line1, {atom, _Line2, Module}, {atom, _Line3, Function}}, Arguments0} = Stmt, Sinks) -> @@ -93,12 +86,12 @@ transform_statement({call, Line, {remote, _Line1, {atom, _Line2, Module}, true -> case lists:member(Function, ?LEVELS) of true -> - SinkName = make_internal_sink_name(Module), + SinkName = lager_util:make_internal_sink_name(Module), do_transform(Line, SinkName, Function, Arguments0); false -> case lists:keyfind(Function, 1, ?LEVELS_UNSAFE) of {Function, Severity} -> - SinkName = make_internal_sink_name(Module), + SinkName = lager_util:make_internal_sink_name(Module), do_transform(Line, SinkName, Severity, Arguments0, unsafe); false -> Stmt diff --git a/src/lager_util.erl b/src/lager_util.erl index 8317bbf..76fdda6 100644 --- a/src/lager_util.erl +++ b/src/lager_util.erl @@ -23,7 +23,7 @@ open_logfile/2, ensure_logfile/4, rotate_logfile/2, format_time/0, format_time/1, localtime_ms/0, localtime_ms/1, maybe_utc/1, parse_rotation_date_spec/1, calculate_next_rotation/1, validate_trace/1, check_traces/4, is_loggable/3, - trace_filter/1, trace_filter/2, expand_path/1, check_hwm/1]). + trace_filter/1, trace_filter/2, expand_path/1, check_hwm/1, make_internal_sink_name/1]). -ifdef(TEST). -include_lib("eunit/include/eunit.hrl"). @@ -524,6 +524,14 @@ discard_messages(Second, Count) -> Count end. +%% @private Build an atom for the gen_event process based on a sink name. +%% For historical reasons, the default gen_event process for lager itself is named +%% `lager_event'. For all other sinks, it is SinkName++`_lager_event' +make_internal_sink_name(lager) -> + ?DEFAULT_SINK; +make_internal_sink_name(Sink) -> + list_to_atom(atom_to_list(Sink) ++ "_lager_event"). + -ifdef(TEST). parse_test() -> @@ -781,4 +789,10 @@ expand_path_test() -> end, ok. +sink_name_test_() -> + [ + ?_assertEqual(lager_event, make_internal_sink_name(lager)), + ?_assertEqual(audit_lager_event, make_internal_sink_name(audit)) + ]. + -endif.