【问题标题】:How can I put Elixir's umbrella app names into the logger metadata?如何将 Elixir 的伞式应用程序名称放入记录器元数据中?
【发布时间】:2018-01-25 23:35:52
【问题描述】:

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

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

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

但是我找不到添加类似Logger.metadata(umbrella_app: :web) 之类的内容来填充元数据的好地方。

【问题讨论】:

    标签: logging elixir phoenix-framework


    【解决方案1】:

    尝试将:application 添加到元数据

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

    这将打印这样的消息

    application=app [level] 消息

    【讨论】:

    • 这与我想要的很接近,但这给了我像 plugkaffe 这样的应用名称,而不是我的伞形应用名称。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2017-09-23
    • 2012-01-16
    相关资源
    最近更新 更多