[erlang-questions] Architecture question: logging inside library
Mikael Pettersson
mikpelinux@REDACTED
Mon Jan 11 14:39:34 CET 2016
Max Lapshin writes:
> Hi.
>
> As we know, it is good when library doesn't have any hardcoded dependencies
> at all.
>
> I don't understand what is a good way to remove lager (or any other logging
> library) from library dependencies.
>
>
> For example, we have an mpegts decoder/encoder library. This library takes
> binary and unpacks it to list of frames or packs back:
>
> mpegts_decoder:decode(Binary, mpegts_decoder:init(Options)) -> {ok,
> Frames, State}
>
>
> There are calls to lager in some places of code that are used for
> indicating some statuses:
>
> dump_psi(Decoder, NewPMT),
> lager:info("PMT: ~p", [Descriptors]),
> ...
>
>
> What is the proper way to refuse from adding logger as a dependency for
> such pure library?
> Pass a callback into initialisation options?
That's what I would do.
More information about the erlang-questions
mailing list