[erlang-questions] Architecture question: logging inside library

Max Lapshin <>
Mon Jan 11 08:34:22 CET 2016


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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160111/bcee6d36/attachment.html>

More information about the erlang-questions mailing list