Jaka jest konwencjonalna lokalizacja dziennika dla procesów uruchamianych w imieniu użytkowników?
~/.foo/logs/
- mój najlepszy wybór, ale nie super/var/log/foo.uid/
- Użytkownicy niesystemowi nie mogą tutaj tworzyć katalogów, przede wszystkim potrzebują współpracy.Wspólny plik w
/var/log/
(np./var/log/foo.log
) - nieprywatnyitp.
uid
nazwy użytkownika lub użytkownika.Chociaż
/var/log
jest to kanoniczne miejsce do wyszukiwania dzienników, jak wskazuje @pkhamre, nie widzę potrzeby zanieczyszczania folderu dziennikami generowanymi przez użytkownika. Wolę logować się tylko do usług ogólnosystemowych/var/log
.To powiedziawszy, jeśli aplikacja jest aplikacją GUI (działającą w X), sugerowałbym stosowanie się do specyfikacji katalogu podstawowego XDG i upuszczenie logów
$XDG_DATA_HOME/foo/log/
z$XDG_DATA_HOME
domyślną wartością$HOME/.local/share
. Ma to jednak jedną wadę. Musisz ciężko pracować, jeśli chcesz z jakiegoś powodu zagregować logi - w poprzednim rozwiązaniucat /var/log/foo.*/*
wystarczyłoby.źródło
Ponieważ użytkownicy
/var/log
nie mogą zapisywać danych, a jeśli nie chcesz przechowywać dzienników w ich odpowiednich katalogach domowych, sugerowałbym użycie tego,/var/tmp/foo.logs.uid
który byłby zapisywalny przez użytkowników i scentralizowany.źródło