Как настроить лагер в проекте эликсир
Я хотел бы использовать лагер из проекта эликсир.
Мой текущий mix.exs следующий.
def application do
[erl_opts: [parse_transform: "lager_transform"]]
end
defp deps do
[{:lager, github: "basho/lager"}]
end
Я хотел бы вывести журнал в файл с помощью лагера. Как я могу установить путь к файлу журнала? (Могу ли я изменить этот путь к файлу после запуска приложения?)
И я хотел бы разделить файл журнала с помощью трассировки. Как я могу настроить вышеуказанную конфигурацию?
1 ответ
Вот минимальная настройка для лагера с Elixir:
# mix.exs
def application do
[
applications: [:lager],
erl_opts: [parse_transform: "lager_transform"]
]
end
defp deps do
[{:lager, github: "basho/lager"}]
end
# config/config.exs
config :lager,
log_root: '/var/log/hello',
handlers: [
lager_console_backend: :info,
lager_file_backend: [file: "error.log", level: :error],
lager_file_backend: [file: "console.log", level: :info]
]
Как видите, log_root
опция позволит вам установить каталог журналов во время компиляции. Я воссоздал пример конфигурации из документации по lager выше, вы можете взять ее отсюда и указать нужные параметры конфигурации.
Нет способа изменить каталог журнала и / или уровень журнала во время выполнения, что, я считаю, является одним из недостатков лагера. У меня нет опыта в трассировке, но приведенный выше пример должен позволить вам установить необходимые параметры конфигурации.