Я понимаю, что происходит.
То, как мы настроим backends
в файле конфигурации, будет определять, как параметры передаются в инициацию серверных частей.
Например:
config :logger,
backends: [:console ,{LoggerFileBackend, :app_log}, Timber.LoggerBackends.HTTP]
Тогда система вызовет init следующим образом:
# for console, it will call:
init(:console)
# for LoggerFileBackend, it will call with name set to ":app_log"
init({__MODULE__, name})
# for Timber.LoggerBackends.HTTP, it will call with options omitted
init(__MODULE__, options \\ [])