Provided by: manpages-nl_20051127-4_all
 

NAAM

        syslog   -   lees  en/of  wis  kernel  bericht-ring-buffer;  zet  "con‐
        sole_loglevel" {console log-niveau}
 

OVERZICHT

        #include <unistd.h>
 
        #include <linux/unistd.h>
 
        _syscall3(int, syslog, int, soort, char *, bufw, int, len);
 
        int syslog(int soort, char *bufw, int len);
 

BESCHRIJVING

        Dit is waarschijnlijk niet de functie waar je geïnteresseerd  in  bent.
        Kijk  naar  syslog(3)  voor  de  C  bibliotheek  interface. Deze pagina
        beschrijft alleen de kale systeem aanroep interface.
 
        Het soort argument bepaald de daad genomen door syslog.
 
        Citerend van {vertaald} kernel/printk.c:
        /*
         * Commands to sys_syslog:
         *
         *      0 -- Sluit het log. Momenteel een NOP {niet operatie}.
         *      1 -- Open het log. Momenteel een NOP.
         *      2 -- Lees van het log.
         *      3 -- Lees tot de laatste 4k van de berichten in de ring buffer.
         *      4 -- Lees en wis de laatste 4k van de berichten in de ring
         *           buffer. */
         *      5 -- Wis ring buffer.
         *      6 -- Zet "printk"’s-naar-de-console uit.
         *      7 -- Zet "printk"’s-naar-de-console aan.
         *      8 -- Zet niveau voor berichten geschreven naar de console.
         */
 
        Alleen functie 3 is toegestaan voor niet-root processen.
 
        De kernel log buffer
        De kernel heeft een roterende buffer met lengte LOG_BUF_LEN {log buffer
        lengte}  (4096,  sinds  1.3.54:  8192,  sinds  2.1.113:  16384)  waarin
        berichten die gegeven zijn als argument aan de kernel functie  printk()
        bewaard worden (ongeacht hun logniveau).
 
        De aanroep syslog (2,buf,len) wacht totdat deze kernel log buffer niet-
        leeg is, en leest dan hoogstens len bytes naar de buffer buf. Het geeft
        het  aantal  gelezen  bytes terug. Bytes gelezen van het log verdwijnen
        uit de log buffer: de informatie kunnen maar  eenmaal  gelezen  worden.
        Dit  is  de  functie  die  wordt  uitgevoerd door de kernel wanneer een
        gebruiker programma /proc/kmsg leest.
 
        De aanroep syslog (3,buf,len) zal de  laatste  len  bytes  van  de  log
        buffer   lezen   (niet-destructief),  maar  zal  niet  meer  lezen  dan
        geschreven was naar de  buffer  sinds  de  laatste  ’wis  ring  buffer’
        opdracht  (die  de  buffer  helemaal  niet wist).  Het geeft het aantal
        gelezen bytes terug.
 
        De aanroep syslog (4,buf,len) doet precies hetzelfde, maar voert ook de
        ’wis ring buffer’ opdracht uit.
 
        De  aanroep  syslog  (5,dummy,idummy) voert alleen de ’wis ring buffer’
        opdracht uit.
 
        Het log-niveau
        De kernel routine printk() zal alleen een bericht afdrukken op de  con‐
        sole  als  het een log-niveau heeft dat minder is dan de variabele con‐
        sole_loglevel {console log niveau}  (geïnitialiseerd  als  DEFAULT_CON‐
        SOLE_LOGLEVEL  (7),  maar gezet naar 10 als de kernel opdrachtregel het
        woord ’debug’ bevat, en naar 15 in het geval van een kernel fout  -  de
        10  en  15  zijn  gewoon dwaas, en gelijk aan 8).  Deze variabele wordt
        gezet (naar een waarde in het  interval  1-8  door  de  aanroep  syslog
        (8,dummy,value).   De  aanroepen  syslog (soort,dummy,idummy) met soort
        {soort} gelijk aan  6 of 7, zetten het respectievelijk naar  1  (alleen
        kernel-panieken) of 7 (alles behalve debug-berichten).
 
        Elke  tekstregel in een bericht heeft zijn eigen log-niveau. Dit niveau
        is DEFAULT_MESSAGE_LOGLEVEL - 1 (6) tenzij de regel start met <d>  waar
        d  een  getal is in het interval 1-7, in welk geval het niveau d is. De
        gebruikelijke betekenis van het log-niveau wordt bepaald in <linux/ker‐
        nel.h> als volgt:
 
        #define KERN_EMERG    "<0>"  /* {noodgeval} systeem is onbruikbaar     */
        #define KERN_ALERT    "<1>"  /* {let op} actie moet onmiddellijk genomen
        *                             * worden  */
        #define KERN_CRIT     "<2>"  /* {kritiek} kritieke toestand            */
        #define KERN_ERR      "<3>"  /* {fout} fouttoestanden                  */
        #define KERN_WARNING  "<4>"  /* {waarschuwing} waarschuwings toestanden*/
        #define KERN_NOTICE   "<5>"  /* {merk op} normale maar belangwekkende
        *                             * toestanden */
        #define KERN_INFO     "<6>"  /* {informatie} informatie                */
        #define KERN_DEBUG    "<7>"  /* debug-niveau berichten                 */
        In  het  geval van een fout wordt -1 teruggegeven en errno wordt gezet.
        In het andere geval als soort gelijk is aan 2, 3 of 4,  geeft  syslog()
        het aantal gelezen bytes terug, en anders 0.
 

FOUTEN

        EPERM  {toestemming}  Een  poging  werd  gedaan  om console_loglevel te
               veranderen of de kernel berichten ring buffer te wissen door een
               proces zonder root {"root"} toestemmingen.
 
        EINVAL {ongeldig} Slechte argumenten.
 
        ERESTARTSYS
               {herstart  systeem}  Systeem  aanroep  werd onderbroken door een
               signaal - niets werd gelezen.
        Deze systeem aanroep is Linux-eigen en zou niet gebruikt moeten  worden
        in programma’s die draagbaar bedoeld zijn.
        syslog(3) {systeem log}
 

VERTALING

        Dit  is  een  handleiding  uit  manpages-dev  1.29.   Alles  wat tussen
        ‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
        handleiding.  Email naar <manpages-nl@nl.linux.org>.
 
        $Id: syslog.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $