【问题标题】:Where to save CLI application log file that will work cross-platform?将跨平台工作的 CLI 应用程序日志文件保存在哪里?
【发布时间】:2021-10-14 19:28:59
【问题描述】:

我有一个应用程序将错误日志保存到运行脚本的同一目录中。这很糟糕,因为它会在随机位置创建error.log 文件。因此,我想将文件保存到 GNU/Linux 上的 /var/log 中,并且我希望在 Windows 和 macOS(以及可能运行 NodeJS 的任何其他操作系统)中使用相同的文件。

有没有跨平台获取日志目录的方法?所以我可以在那里写日志? 如果该目录归根用户所有,也如何使用该目录。或者有没有更好的地方来保存 NodeJS 应用程序日志?

唯一的目录跨平台NodeJS目录是/tmp使用:

const log_filename = path.join(os.tmpdir(), 'lips.error.log');

保存日志以供用户查找的最佳位置是什么?同目录和 /tmp 目录在我的选择中不是很好的选择。保存日志文件的其他选项是什么?

在任何 CLI 应用程序中跨平台保存日志文件的通常位置是什么?

【问题讨论】:

    标签: node.js logging


    【解决方案1】:

    这也是乐趣的一部分——没有单独的目录来存储日志,因此您需要分别处理每个支持的操作系统。

    • Linux 有选项,但最好采用 XDG 规范方式,因为它是一个不会填满系统日志的合理标准,并且可以轻松隔离应用程序日志。

    • macOS 可以使用~/Library/logs 文件夹。

    • Windows 可以使用AppData 文件夹,通常是AppData/Local

    【讨论】:

      猜你喜欢
      • 2010-09-08
      • 2015-07-13
      • 2011-04-09
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2014-03-19
      • 2011-02-20
      相关资源
      最近更新 更多