Logger config for apps in umbrella project clobbered by other apps

I have an umbrella project with multiple apps. Some of those apps need to be deployed separately to different boxes and I would like them to have their own logger config, but I don’t see any way to do this within an umbrella project, since the umbrella project merges all of the umbrella apps config together, resulting in only the last evaluated logger configuration overriding all others.

An example of the problem I’m seeing can be found at https://github.com/balduncle/logger_config. This is an example repo and the README demonstrates the problem.

Does anyone have any recommendations for me?


Can you reconfigure the Logger in the application start callback?

I suppose that is one option, but it wouldn’t work for any “application configuration” (i.e. compile time) listed at https://hexdocs.pm/logger/Logger.html, such as :backends. I would also likely need to add comments to each app’s config files to remind future developers that 1) “application configuration” will be an unpredictable merging of all apps’ “application configuration” and 2) “runtime configuration” should only be performed in the application init function. :sob: