如何将Elixir的伞形应用程序名称放入记录器元数据中?

时间:2018-01-25 23:35:53

标签: logging elixir phoenix-framework

Umbrella apps是Elixir的一个有趣功能,但我很惊讶默认情况下的日志记录并不能显示哪个应用正在生成日志消息。我想将伞形应用程序的名称添加到Logger元数据中,但我不确定这样做的最佳位置。每个应用程序都可以单独配置记录器,并将要显示的元数据列入白名单,但我不确定在何处添加伞元数据

例如在apps/web/config/dev.exs我可以放

config :logger, :console,
  metadata: [:umbrella_app]

但是我没有找到一个好的地方来添加像Logger.metadata(umbrella_app: :web)这样的东西来填充元数据。

1 个答案:

答案 0 :(得分:1)

尝试将:application添加到元数据

config :logger, :console,
  format: "$metadata[$level] $message\n",
  metadata: [:application]

这将打印这样的消息

  

application = app [level]消息