代表用户运行的进程的常规日志位置是什么?
~/.foo/logs/
— 我的首选,但不是特别棒/var/log/foo.uid/
— 非系统用户无法在此创建目录,需要先配合才能创建。/var/log/
(例如)中的公共文件/var/log/foo.log
— 非私有文件ETC。
答案1
我建议选择/var/log/foo.uid/
,因为/var/log/
它是我在服务器上搜索日志时首先要去的地方。
另一个选择是使用您的第一选择,~/.foo/logs/
并在下创建指向它的符号链接/var/log
。
答案2
虽然/var/log
这是查找日志的规范位置,但正如@pkhamre 指出的那样,我认为没有必要用“用户”生成的日志污染文件夹。我更希望只将系统范围的服务记录到/var/log
。
也就是说,如果应用程序是 GUI 应用程序(在 X 中运行),我建议遵循XDG 基础目录规范并将日志放入其中,$XDG_DATA_HOME/foo/log/
默认$XDG_DATA_HOME
为$HOME/.local/share
。但这有一个缺点。如果您出于某种原因想要聚合日志,则需要更加努力——使用以前的解决方案cat /var/log/foo.*/*
就足够了。
答案3
由于/var/log
用户不可写入,并且如果您不想将日志保存在各自的主目录下,我建议使用/var/tmp/foo.logs.uid
用户可写入且集中的目录。