4

我想使用来自 elixir 项目的啤酒。

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

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

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

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

而且,我想通过使用跟踪来划分日志文件 如何设置上述配置?

4

1 回答 1

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选项将允许您在编译时设置日志目录。我已经从上面的大型文档中重新创建了示例配置,您应该可以从这里获取它并指定您需要的配置选项。

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

于 2015-10-27T07:36:11.377 回答