我应该在哪里写一个用户特定的日志文件(和XDG基本目录兼容)

bwv*_*549 17 python logging pip

默认情况下,pip将错误记录到"〜/ .pip/pip.log"中.Pip有一个更改日志路径的选项,我想将日志文件放在〜/ .pip之外的某处,以免弄乱我的主目录.我应该把它放在哪里,并且XDG base dir兼容

现在我正在考虑其中一个:

  • $ XDG_DATA_HOME(通常为$ HOME/.local/share)
  • $ XDG_CACHE_HOME(通常为$ HOME/.cache)

har*_*arm 23

目前尚不清楚这一点.

不同的软件似乎以不同的方式来处理这个(imsettings所说的$XDG_CACHE_HOME, 亵渎$XDG_DATA_HOME).

然而,Debian有一个我可以支持的提案(强调我的):

这是xdg-freedesktop邮件列表中反复出现的请求/投诉(请参阅此内容投诉),以介绍不属于任何现有类别的状态信息的另一个目录(另请参阅home-dir.proposal.此信息的示例是:

  • shell,repls,使用libreadline的任何东西的历史文件
  • 日志文件
  • 退出时的应用程序窗口状态
  • 最近打开的文件
  • 上次运行应用程序
  • emacs:书签,ido最后目录,备份,自动保存文件,自动保存列表

以上示例信息不是必要数据.但是,与用户可能考虑放入TMPFS的缓存数据不同,它应该仍然存在于重新启动系统.另一方面,数据相当不稳定,无法检入VCS.这些文件也不是应用程序处理的数据文件.

未来STATE类别的默认文件夹可能是:$ HOME/.local/state

这将有效地引入另一个环境变量,因为$XDG_DATA_HOME通常指向$HOME/.local/share并且这个假设的环境变量($XDG_STATE_HOME?)会指向$HOME/.local/state

如果您真的想要遵守当前标准,我会将我的日志文件放入,$XDG_CACHE_HOME因为日志文件不需要运行程序.

  • `$XDG_STATE_HOME` 从版本 0.8 开始存在:https://specations.freedesktop.org/basedir-spec/0.8/ar01s03.html (5认同)