Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

at(1)

crontab(1)

logger(1)

login(1)

lpr(1)

su(1)

cron(1M)

ftpd(1M)

getty(1M)

lpc(1M)

routed(1M)

syslogd(1M)

printf(3S)

syslog(5)

syslog(3C)                                                       syslog(3C)

NAME
     syslog, openlog, closelog, setlogmask - Systemprotokoll steuern

SYNTAX
     #include <syslog.h>

     void syslog(int level, const char *message, ... /* arguments */);

     void openlog(const char *ident, int logopt, int facility);

     void closelog(void);

     int setlogmask(int maskpri);

BESCHREIBUNG
     syslog sendet eine Meldung message an den Systemprotokolldämon
     syslogd, der sie in einem entsprechenden Systemprotokoll protokol-
     liert, auf der Systemkonsole ausgibt, an eine Liste von Benutzern oder
     über das Netzwerk an syslogd auf einem anderen Host weiterleitet. Die
     Meldung sieht wie eine printf-Zeichenkette aus, außer daß %m durch die
     aktuelle Fehlermeldung (aus errno) ersetzt ist. Ein nachgestelltes
     Zeilenvorschubzeichen (NEWLINE) wird gegebenenfalls hinzugefügt.

     Die Meldung wird mit einer Priorität gekennzeichnet. Prioritäten set-
     zen sich aus facility und Ebene level zusammen. Die Funktion
     beschreibt den Teil des Systems, der die Meldung generiert. Die Ebene
     wird aus einer geordneten Liste ausgewählt:

     LOGEMERG      Eine "panic"-Bedingung. Diese Bedingung wird normaler-
                    weise an alle Benutzer übertragen.

     LOGALERT      Eine Bedingung, die sofort korrigiert werden sollte,
                    beispielsweise eine beschädigte Systemdatenbank.

     LOGCRIT       Schwerwiegende Bedingung, beispielsweise ein Festplat-
                    tenfehler.

     LOGERR        Fehler.

     LOGWARNING    Warnmeldungen.

     LOGNOTICE     Bedingungen, bei denen es sich nicht um Fehlerbedingun-
                    gen handelt, die jedoch spezielle Schritte erfordern.

     LOGINFO       Informationsmeldungen.

     LOGDEBUG      Meldungen mit Informationen, die normalerweise nur beim
                    Testen eines Programms verwendet werden.

     Wenn eine spezielle Verarbeitung erforderlich ist, kann openlog zur
     Initialisierung der Protokolldatei aufgerufen werden. Der Parameter
     ident ist eine Zeichenkette, die jeder Meldung vorangestellt ist.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

syslog(3C)                                                       syslog(3C)

     logopt ist ein Bitfeld, in dem Protokolloptionen angezeigt werden.
     Aktuelle Werte für logopt sind:

     LOGPID        Protokolliert die Prozeß-ID mit jeder Meldung. Dies ist
                    nützlich für die Identifizierung eines speziellen
                    Dämonprozesses (für Dämone, die aufgespalten werden
                    (forked)).

     LOGCONS       Gibt Meldungen auf der Systemkonsole aus, wenn sie
                    nicht an syslogd gesendet werden können. Diese Option
                    kann in Dämonprozessen, die nicht über ein Steuerungs-
                    terminal verfügen, sicher verwendet werden, da syslog
                    vor dem Öffnen der Konsole aufgespalten wird.

     LOGNDELAY     Öffnet die Verbindung zu syslogd sofort. Normalerweise
                    wird das Öffnen verzögert, bis die erste Meldung proto-
                    kolliert wird. Dies ist für Programme nützlich, die die
                    Reihenfolge der Zuordnung von Dateideskriptoren verwal-
                    ten müssen.

     LOGODELAY     Verzögert das Öffnen so lange, bis syslog() aufgerufen
                    wird.

     LOGNOWAIT     Wartet nicht auf Sohnprozesse, die zum Protokollieren
                    von Meldungen auf der Konsole aufgespalten (forked)
                    wurden. Diese Option sollte von Prozessen verwendet
                    werden, die mit Hilfe von SIGCHLD eine Benachrichtigung
                    über das Beenden eines Sohnprozesses ausgeben, da
                    syslog andernfalls möglicherweise durch das Warten auf
                    einen Sohnprozeß blockiert, dessen Exit-Status bereits
                    erreicht ist.

     Der Parameter facility codiert eine Standardfunktion, die allen Mel-
     dungen zugeordnet werden soll, die nicht über eine bereits codierte
     explizite Funktion verfügen:

     LOGKERN       Vom Kern erstellte Meldungen. Diese können nicht von
                    einem Benutzerprozeß erstellt werden.

     LOGUSER       Von beliebigen Benutzerprozessen erstellte Meldungen.
                    Dies ist die standardmäßige Funktions-ID, wenn keine
                    andere angegeben ist.

     LOGMAIL       Das Postsystem.

     LOGDAEMON     Systemdämone, wie beispielsweise ftpd, routed usw.

     LOGAUTH       Das Berechtigungssystem: login, su, getty usw.

     LOGLPR        Das Zeilendrucker-Spool-System: lpr, lpc usw.

     LOGNEWS       Reserviert für das USENET-Netzwerknachrichtensystem.


Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

syslog(3C)                                                       syslog(3C)

     LOGUUCP       Reserviert für das UUCP-System; syslog wird momentan
                    nicht verwendet.

     LOGCRON       Die Funktion cron/at; crontab, at, cron usw.

     LOGLOCAL0-7   Reserviert für die lokale Verwendung.

     closelog kann zum Schließen der Protokolldatei verwendet werden.

     setlogmask setzt die Protokollprioritätsmaske auf maskpri und gibt die
     vorherige Maske zurück. Wenn das Argument maskpri 0 ist, wird die
     aktuelle Protokollmaske nicht geändert. Aufrufe von syslog, deren
     Priorität nicht in maskpri angegeben ist, werden zurückgewiesen. Die
     Maske für eine bestimmte Priorität pri wird vom Makro LOGMASK(pri)
     berechnet. Die Maske für alle Prioritäten bis zu toppri einschließlich
     werden im Makro LOGUPTO(toppri) angegeben. Standardmäßig können alle
     Prioritäten protokolliert werden.

     openlog muß nicht vor einem Aufruf von setlogmask() aufgerufen werden.

     Symbolische Konstanten, die als Werte für die Argumente logopt,
     facility, priority und maskpri verwendet werden können, sind in
     <syslog.h> definiert.

BEISPIELE
     Der folgende Aufruf protokolliert eine Meldung mit der Priorität
     LOGALERT:

          syslog(LOGALERT, "who: internal error 23");

     Der FTP-Dämon, ftpd, würde folgenden Aufruf openlog senden, um anzuge-
     ben, daß alle von ihm protokollierten Meldungen über die Identifizie-
     rungszeichenkette ftpd verfügen sollen, von syslogd wie andere Meldun-
     gen von Systemdämonen behandelt werden sollen und die Prozeß-ID des
     Prozesses enthalten sollen, der die Meldung protokolliert:

          openlog("ftpd", LOGPID, LOGDAEMON);

     Daraufhin würde er den folgenden Aufruf setlogmask senden, um anzuge-
     ben, daß Meldungen mit Prioritäten von LOGEMERG bis LOGERR protokol-
     liert und Meldungen mit einer anderen Priorität nicht protokolliert
     werden sollen:

          setlogmask(LOGUPTO(LOGERR));

     Zum Protokollieren einer Meldung mit der Priorität LOGINFO würde er
     dann den folgenden Aufruf syslog senden:

          syslog(LOGINFO, "Connection from host %d", CallingHost);





Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

syslog(3C)                                                       syslog(3C)

     Ein lokal geschriebenes Dienstprogramm könnte den folgenden Aufruf
     syslog senden, um eine Meldung mit der Priorität LOGINFO zu protokol-
     lieren, die von syslogd wie andere Meldungen für die Funktion
     LOGLOCAL2 behandelt werden soll:

          syslog(LOGINFO|LOGLOCAL2, "error: %m");

SIEHE AUCH
     at(1), crontab(1), logger(1), login(1), lpr(1), su(1), cron(1M),
     ftpd(1M), getty(1M), lpc(1M), routed(1M), syslogd(1M), printf(3S),
     syslog(5).











































Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026