Как я могу поместить имена зонтичных приложений Elixir в метаданные регистратора?

зонтичные приложения — интересная функция. Эликсира, но я удивлен, что ведение журнала по умолчанию не показывает, какое приложение генерирует сообщение журнала. Я хотел бы добавить имя зонтичного приложения в метаданные Logger, но я не уверен, что это лучшее место для этого. Кажется, что каждое приложение может настроить регистратор отдельно и внести в белый список метаданные для отображения, но я не уверен, куда добавить метаданные зонтика.

Например в apps/web/config/dev.exs я могу поставить

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

Но тогда я не нахожу подходящего места, чтобы добавить что-то вроде Logger.metadata(umbrella_app: :web) для заполнения метаданных.


person mmrobins    schedule 25.01.2018    source источник


Ответы (1)


Попробуйте добавить :application в метаданные

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

Это напечатает сообщение, подобное этому

application=app [уровень] Сообщение

person praise the sun    schedule 25.01.2018
comment
Это близко к тому, что я хочу, но это дает мне имена приложений, такие как plug и kaffe, а не имена моих зонтичных приложений. - person mmrobins; 30.01.2018