*用于存储用户日志的nix约定?


10

代表用户运行的进程的常规日志位置是什么?

  • ~/.foo/logs/ -我的首选,但不是超级棒

  • /var/log/foo.uid/ —非系统用户无法在此处创建目录,首先需要合作才能创建。

  • /var/log/(例如/var/log/foo.log)中的通用文件-非私有

  • 等等

Answers:


5

我建议使用/var/log/foo.uid/,因为这/var/log/是我在服务器上搜索日志时的第一个去处。

另一个选择是使用您的首选,~/.foo/logs/然后在下创建一个符号链接/var/log


我确实是说用户ID,而不是PID(即,可能有多个用户同时运行一个程序,而且他们都需要自己的日志位置)。
s4y 2012年

哦! 我的错误,每个星期一早上还为时过早。然后添加uid或用户名就很有意义。
pkhamre 2012年

3

/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既可被用户写又可集中的日志。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.