我想使用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来分配日志文件 如何设置上述配置?
答案 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的缺点之一。我没有跟踪经验,但上面的示例应该可以让您设置必要的配置选项。