【发布时间】:2018-03-04 06:20:36
【问题描述】:
我有一个 Elixir 伞形应用程序。伞下的应用程序使用Logger。我想为:logger 应用程序添加一个后端(logger_logstash_backend)。所以,我需要把它作为一个依赖添加到 mix 文件中的 deps 函数中。
在伞形应用最外层的mix文件中,deps函数的文档说明:
此处列出的依赖项仅适用于该项目 并且无法从apps文件夹中的应用程序访问
这意味着我必须将后端模块添加为伞下每个应用程序的依赖项。但是,这样做会导致几个问题:
以后将单个应用程序作为单独的库移出变得更加困难。
伞下的各个应用程序实际上并不依赖于自定义
:logger后端模块。他们可以使用默认的:console后端。但我只想为 prod 环境提供一个额外的后端。因此,我不得不将依赖项单独添加到每个应用程序中,这更像是一个跨应用程序的问题。
你知道更好的策略吗?这是什么?
【问题讨论】:
标签: erlang elixir phoenix-framework