Wo log-Datei der eigenen Anwendung unixoid speichern?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
MoonKid
Beiträge: 513
Registriert: 12.03.2012 22:36:43

Wo log-Datei der eigenen Anwendung unixoid speichern?

Beitrag von MoonKid » 04.07.2015 11:36:46

(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.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: Wo log-Datei der eigenen Anwendung unixoid speichern?

Beitrag von Cae » 04.07.2015 13:56:17

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 auch

Code: Alles auswählen

# adduser myapp
# mkdir /var/log/myapp
# chown myapp: /var/log/myapp
# su myapp -c /opt/myapp
Also ein beschreibbares Verzeichnis anlegen und dort hinein loggen. Ist eher unpassend, wenn das Programm potenziell von mehreren Benutzern ausgefuehrt wrid.

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

inne
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?

Beitrag von inne » 04.07.2015 14:23:16

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?)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Wo log-Datei der eigenen Anwendung unixoid speichern?

Beitrag von rendegast » 05.07.2015 13:26:17

Ich habe mir sowas gebastelt, /etc/rsyslog.d/AAAA_user.conf

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
Es ist dann eine mit Zeitstempeln angereicherte Kopie der Ausgangsdatei.

/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")

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Wo log-Datei der eigenen Anwendung unixoid speichern?

Beitrag von pferdefreund » 06.07.2015 06:04:29

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.

Antworten