如何在elixir项目上设置lager

时间:2015-10-27 06:47:30

标签: elixir lager

我想使用elixir项目中的lager

我目前的mix.exs正在关注。

def application do
  [erl_opts: [parse_transform: "lager_transform"]]
end

defp deps do
  [{:lager, github: "basho/lager"}]
end

我想使用lager输出log to file。 如何设置日志文件路径? (我可以在启动应用程序后更改此文件路径吗?)

并且,我想使用tracing来分配日志文件 如何设置上述配置?

1 个答案:

答案 0 :(得分:4)

这是使用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选项允许您在编译时设置日志目录。我已经重新创建了上面的example configuration from the lager docs,你应该可以从这里获取它并指定你需要的配置选项。

在运行期间无法更改日志目录和/或日志级别,我认为这是lager的缺点之一。我没有跟踪经验,但上面的示例应该可以让您设置必要的配置选项。