Какое место обычно занимает журнал процессов, выполняемых от имени пользователей?
~/.foo/logs/
- мой лучший выбор, но не супер крутой
/var/log/foo.uid/
- Пользователи, не являющиеся системными, не могут создавать здесь каталоги, в первую очередь для их создания требуется сотрудничество.
Общий файл в /var/log/
(например. /var/log/foo.log
) - Не частный
и т.п.
Я бы посоветовал пойти на /var/log/foo.uid/
, так как /var/log/
это мое первое место, куда я обращаюсь при поиске журналов на сервере.
Другой вариант - использовать ваш первый выбор, ~/.foo/logs/
, и создайте на него символическую ссылку в /var/log
.
Так как /var/log
не доступен для записи пользователями, и если вы не хотите хранить журналы в их соответствующих домашних каталогах, я бы предложил использовать /var/tmp/foo.logs.uid
которые были бы доступны для записи пользователям и централизованно.
Пока /var/log
- это каноническое место для поиска журналов, как указывает @pkhamre, я не вижу необходимости засорять папку журналами, созданными «пользователем». Я бы предпочел только общесистемные службы для входа в /var/log
.
Тем не менее, если приложение представляет собой приложение с графическим интерфейсом (работающее в X), я бы предложил следовать Спецификация базового каталога XDG и бросаем логи в $XDG_DATA_HOME/foo/log/
с участием $XDG_DATA_HOME
по умолчанию $HOME/.local/share
. Однако у этого есть один недостаток. Вам нужно работать усерднее, если вы по какой-то причине хотите агрегировать журналы - с предыдущим решением cat /var/log/foo.*/*
было бы достаточно.