首页 > 解决方案 > 使用酒厂管理日志文件

问题描述

背景

使用 distillery 启动 OTP 应用程序,我注意到所有日志都转到./var/log/文件夹中的 2 个不同文件:

问题

我这里有问题:

  1. 我不知道run_erl.log应该记录什么
  2. 我想将默认日志路径从更改./var/log/erlang.log.1./log/myapp.log

研究

我已经检查了这个讨论以获取一些提示,但根据它我必须更改:logger额外应用程序的配置。

Distillery 版本中的日志文件

这个搜索让我看到了下面的代码片段,它使用:logger_file_backend

https://snippets.aktagon.com/snippets/773-logging-to-a-file-with-elixir

但是我想我在这里追逐一只野鹅。我不认为我的问题的解决方案在于添加更多依赖项,而是在于更改:logger应用程序的一些配置。

我只是不知道在哪里,也不知道如何。

我该怎么做?

标签: loggingelixirdistillery

解决方案


你是bin/your_app start用来启动你的应用程序吗?在这种情况下,RUNNER_LOG_DIR您可能正在寻找一个变量来自定义日志输出目录。

我做了一个小的研究,并注意到“如何配置 run_erl 的路径(对于 erlang.log.X,run_erl.log 文件) ”这个问题与你的类似。RUNNER_LOG_DIR在讨论中提到。

distillery,反过来,RUNNER_LOG_DIR作为可配置的环境变量列出。然后在此处启动您的应用程序时使用它。


我不知道run_erl.log应该记录什么。

根据官方 Erlang文档run_erl.log用于记录run_erl程序本身的进度和警告。run_erl是启动应用程序的程序。

我想将默认日志路径从 更改./var/log/erlang.log.1./log/myapp.log

根据我的发现,应该可以更改日志文件的位置,但我还没有看到是否也可以更改文件的名称(erlang.log.1 -> myapp.log),如果这也是您要问的。如果您真的需要更改文件的名称,我会考虑符号链接myapp.logerlang.log.1.


推荐阅读