* convention nix pour le stockage des journaux utilisateur?

10

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.

s4y
la source

Réponses:

5

Je suggérerais d'y aller /var/log/foo.uid/, car /var/log/c'est mon premier endroit où aller lors de la recherche de journaux sur un serveur.

Une autre option consiste à utiliser votre premier choix ~/.foo/logs/et à créer un lien symbolique vers celui-ci sous /var/log.

pkhamre
la source
Je voulais dire en fait l'ID utilisateur, pas le PID (c'est-à-dire que plus d'un utilisateur peut exécuter un programme en même temps et ils ont tous besoin de leur propre emplacement de journal).
s4y
Oh! Mon erreur, il est encore un peu tôt un lundi matin. Ensuite, il est logique d'ajouter le uidnom d'utilisateur ou.
pkhamre
3

Bien que /var/logsoit 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_HOMEdé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, un cat /var/log/foo.*/*aurait été suffisant.

zhenech
la source
3

Comme /var/logles 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.uidce qui serait à la fois accessible en écriture par les utilisateurs et centralisé.

jlliagre
la source