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
|