Вопрос: * Соглашение nix для хранения журналов пользователей?


Что такое обычное расположение журналов для процессов, выполняемых от имени пользователей?

  • ~/.foo/logs/ - мой лучший выбор, но не супер удивительный

  • /var/log/foo.uid/ - Несистемные пользователи не могут создавать каталоги здесь, для чего в первую очередь необходимо сотрудничество.

  • Общий файл в /var/log/ (например. /var/log/foo.log) - Не частный

  • и т.п.


10
2017-11-12 07:02


Источник




Ответы:


Я бы посоветовал /var/log/foo.uid/, потому как /var/log/ это мое первое место при поиске журналов на сервере.

Другой вариант - использовать свой первый выбор, ~/.foo/logs/, и создать символическую ссылку на нее в /var/log,


5
2017-11-12 07:15



Я действительно имел в виду идентификатор пользователя, а не PID (то есть более одного пользователя может одновременно запускать программу, и все они нуждаются в собственных местах регистрации). - s4y
Ой! Моя ошибка, это еще слишком рано утром в понедельник. Тогда имеет смысл добавить uid или имя пользователя. - pkhamre


В то время как /var/log это каноническое место для поиска журналов, как указывает @pkhamre, я не вижу необходимости загрязнять папку с помощью «пользовательских» -генерированных журналов. Я бы предпочел только общесистемные службы для входа в систему /var/log,

Тем не менее, если приложение является графическим интерфейсом (работает в X), я бы предложил следующее Спецификация базового каталога XDG и оставьте журналы в $XDG_DATA_HOME/foo/log/ с $XDG_DATA_HOME по умолчанию $HOME/.local/share, Однако у этого есть один недостаток. Вам нужно работать усерднее, если хотите по какой-то причине скопировать журналы - с предыдущим решением cat /var/log/foo.*/* было бы достаточно.


3
2017-11-12 07:51





В виде /var/log пользователи недоступны для записи, и если вы не хотите хранить журналы в своих соответствующих домашних каталогах, я бы предложил использовать /var/tmp/foo.logs.uid который будет доступен для записи пользователями и централизован.


3
2017-11-12 08:18