(X-Post im Ubuntu-Forum)
Meine selbstgebaute Anwendung (Python3 mit logging-Paket) hat in /var/log nicht ausreichend Rechte, um dort ein log-file anzulegen.
Wo sehen die unix-Richtlinien eigentlich den Speicherort für log-files von User-Anwendungen vor?
DuckDuckGo konnte mir da nicht helfen. Scheinbar fehlt es mir aber hier auch an den korrekten Begrifflichkeiten, um eine erfolgreiche Suche starten zu können.
Wo log-Datei der eigenen Anwendung unixoid speichern?
Re: Wo log-Datei der eigenen Anwendung unixoid speichern?
So richtig unixoid waer's wohl, wenn du per syslog(3) deine Nachrichten an den Logger schickst, und eine entsprechende Filterregel, die daraus ein separates Log macht. Ggf. gewuerzt mit einem logrotate-Snippet, damit dieses Log auch rotiert wird.
Ein Weg waere auchAlso ein beschreibbares Verzeichnis anlegen und dort hinein loggen. Ist eher unpassend, wenn das Programm potenziell von mehreren Benutzern ausgefuehrt wrid.
Gruss Cae
Ein Weg waere auch
Code: Alles auswählen
# adduser myapp
# mkdir /var/log/myapp
# chown myapp: /var/log/myapp
# su myapp -c /opt/myapp
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
-
- Beiträge: 3293
- Registriert: 29.06.2013 17:32:10
- Lizenz eigener Beiträge: GNU General Public License
-
Kontaktdaten:
Re: Wo log-Datei der eigenen Anwendung unixoid speichern?
Was sind das für Logmeldungen?
Getmail4 schreibt z.B. nach ~/.getmail/log/*.log
PokerTH macht es genauso: ~/.pokerth/log(-files)/*.pdb
Das sind IMO eher Debug-Logs. Für andere Meldungen würde ich wohl auch ins Syslog schreiben.
Ausser bei PokerTH da sind es die Logs der letzen Spiele, vergleichbar mit Logs von Chats, IRC etc.
Oder auch unterhalb ~/.cache/ liegen Logfiles (Das ist eher der Freedesktop.org Standard – meine ich.):
./virt-manager/virt-manager.log
./libvirt/qemu/log/*.log
./simple-scan/simple-scan.log
ADB schreibt nach /tmp/adb.log (Windows Attitüde?)
Getmail4 schreibt z.B. nach ~/.getmail/log/*.log
PokerTH macht es genauso: ~/.pokerth/log(-files)/*.pdb
Das sind IMO eher Debug-Logs. Für andere Meldungen würde ich wohl auch ins Syslog schreiben.
Ausser bei PokerTH da sind es die Logs der letzen Spiele, vergleichbar mit Logs von Chats, IRC etc.
Oder auch unterhalb ~/.cache/ liegen Logfiles (Das ist eher der Freedesktop.org Standard – meine ich.):
./virt-manager/virt-manager.log
./libvirt/qemu/log/*.log
./simple-scan/simple-scan.log
ADB schreibt nach /tmp/adb.log (Windows Attitüde?)
(=_=)
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Unsere neue Mutter: https://www.nvidia.com/de-de/data-center/a100/
Re: Wo log-Datei der eigenen Anwendung unixoid speichern?
Ich habe mir sowas gebastelt, /etc/rsyslog.d/AAAA_user.conf
Es ist dann eine mit Zeitstempeln angereicherte Kopie der Ausgangsdatei.
/usr/share/doc/rsyslog-doc/html/configuration/modules/imfile.html
Code: Alles auswählen
# Versuch eines xsession-Loggings mit Zeitstempeln
$ModLoad imfile
$InputFileName /home/user/.xsession-errors
$InputFileTag xs-err-1000:
$InputFileStateFile stat-file-xs1
$InputRunFileMonitor
:programname,regex,"^xs-[eE][rR][rR]-1000" -/var/log/.user/.xsession-errors.rsyslog
& stop
/usr/share/doc/rsyslog-doc/html/configuration/modules/imfile.html
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-
- Beiträge: 3799
- Registriert: 26.02.2009 14:35:56
Re: Wo log-Datei der eigenen Anwendung unixoid speichern?
Es bietet sich auch eventuell an, sowas unter /var/local - analog der sonstigen eigenen Sachen - anzulegen. Da weiß man immer - in local ist nur eigenes Zeug und nix von der Distribution. Ich habe z.B auch für configs ein /usr/local/etc oder warum nicht ein /usr/local/var ?
Ist eventuell noch besser - alles was eigenes Zeug ist unter /usr/local - macht auch das Backup einfacher.
Ist eventuell noch besser - alles was eigenes Zeug ist unter /usr/local - macht auch das Backup einfacher.