Fehlerbehandlung mit syslog |
#include <syslog.h> openlog("MeinProgramm", 0, 0); ... syslog(LOG_INFO | LOG_LOCAL2, "Fehler Nr %d: %s", FehlerNr, Message); ... closelog(); |
openlog() meldet den Programmnamen an, damit er in den Protokollen angezeigt wird. syslog() setzt die eigentliche Meldung ab. Der Aufruf entspricht dem des printf. Er wird lediglich eine Priorität-Konstante vorangestellt. Hier die Tabelle der Prioritäten:
Konstante | Bedeutung |
---|---|
LOG_EMERG | Notfall: System ist nicht mehr lauffähig. |
LOG_ALERT | Alarm: Eingreifen ist erforderlich |
LOG_CRIT | Kritisch: Meist Hardware-Probleme |
LOG_ERR | Fehlersituation |
LOG_WARNING | Warnung: Es kann aber weitergehen |
LOG_NOTICE | Eine wichtige Information |
LOG_INFO | Informationen |
LOG_DEBUG | Debug-Informationen zur Verfolgung des Prozessablaufes |
Geodert wird dieser Wert mit der Facility. Damit wird die Quelle des Fehlers beschrieben. Typische Werte sind:
syslog() | syslog.conf | Verursacher |
---|---|---|
LOG_AUTH | auth | Authorisierung |
LOG_AUTHPRIV | auth-priv | Authorisierung |
LOG_CRON | cron | Meldungen von cron und at |
LOG_DAEMON | daemon | System-Daemonen |
LOG_KERN | kern | Kernel |
LOG_LOCAL0 bis LOG_LOCAL7 | local0 bis local7 | für eigene Verwendung |
LOG_LPR | lpr | Druck Subsystem |
LOG_CRIT | meist Hardware-Probleme | |
LOG_MAIL | ||
LOG_NEWS | news | |
LOG_SYSLOG | syslog | Nachrichten von syslog selbst |
LOG_USER | user | User-Level Nachrichten |
LOG_UUCP | uucp | vom uucp |
In der /etc/syslog.conf kann festgelegt werden, welche Meldungen in welcher Datei vom syslog-Dämon protokolliert werden soll.
Diese Seite basiert auf Inhalten aus dem Buch
Arnold Willemer: Wie werde ich UNIX-Guru Verlagsrechte bei galileo computing |
Homepage |
(C) Copyright 2002 Arnold Willemer
|