Qu'est-ce qu'un emplacement de journal classique pour les processus qui s'exécutent au nom des utilisateurs?
~/.foo/logs/
- mon premier choix mais pas super génial/var/log/foo.uid/
- Les utilisateurs non-système ne peuvent pas créer de répertoires ici, ont besoin de coopération pour créer en premier lieu.Un fichier commun dans
/var/log/
(par exemple/var/log/foo.log
) - Non privéetc.
uid
nom d'utilisateur ou.Bien que
/var/log
soit l'endroit canonique pour rechercher des journaux, comme le souligne @pkhamre, je ne vois pas la nécessité de polluer le dossier avec des journaux générés par "l'utilisateur". Je préfère que seuls les services à l'échelle du système se connectent/var/log
.Cela dit, si l'application est une application GUI (fonctionnant sous X), je suggérerais de suivre la spécification de répertoire de base XDG et de déposer les journaux dans
$XDG_DATA_HOME/foo/log/
par$XDG_DATA_HOME
défaut à$HOME/.local/share
. Cela a cependant un inconvénient. Vous devez travailler plus fort si vous souhaitez agréger les journaux pour une raison quelconque - avec la solution précédente, uncat /var/log/foo.*/*
aurait été suffisant.la source
Comme
/var/log
les utilisateurs ne peuvent pas l'écrire et si vous ne souhaitez pas conserver les journaux dans leurs répertoires personnels respectifs, je suggère d'utiliser/var/tmp/foo.logs.uid
ce qui serait à la fois accessible en écriture par les utilisateurs et centralisé.la source