Was ist ein herkömmlicher Protokollspeicherort für Prozesse, die im Auftrag von Benutzern ausgeführt werden?
~/.foo/logs/
- meine erste Wahl, aber nicht super toll/var/log/foo.uid/
- Nicht-Systembenutzer können hier keine Verzeichnisse erstellen, müssen erst zusammenarbeiten.Eine gemeinsame Datei in
/var/log/
(zB/var/log/foo.log
) - Nicht privatetc.
uid
Benutzernamen oder hinzuzufügen .Während
/var/log
der kanonische Platz für Protokolle zu sehen, wie @pkhamre weist darauf hin, sehe ich nicht die Notwendigkeit , den Ordner mit „user“ -Generated Protokollen verschmutzen. Ich würde es vorziehen, nur systemweite Dienste anzumelden/var/log
.Das heißt, wenn die App eine GUI - Anwendung (läuft in X) ist, würde ich folgendes vorschlagen XDG Basisverzeichnis Spezifikation und die Protokolle in Drop
$XDG_DATA_HOME/foo/log/
mit$XDG_DATA_HOME
säumigen zu$HOME/.local/share
. Dies hat jedoch einen Nachteil. Sie müssen härter arbeiten, wenn Sie die Protokolle aus irgendeinem Grund aggregieren möchten - mit der vorherigen Lösungcat /var/log/foo.*/*
wäre a ausreichend gewesen.quelle
Da dies
/var/log
für Benutzer nicht beschreibbar ist und Sie die Protokolle nicht in ihren jeweiligen Home-Verzeichnissen aufbewahren möchten,/var/tmp/foo.logs.uid
würde ich vorschlagen, dass diese Protokolle sowohl für Benutzer beschreibbar als auch zentralisiert sind.quelle