syslog(3) Library Functions Manual syslog(3) NUME trimite mesaje catre jurnalul de sistem BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include void openlog(const char *ident, int option, int facility); void syslog(int priority, const char *format, ...); void closelog(void); void vsyslog(int priority, const char *format, va_list ap); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): vsyslog(): Incepand cu glibc 2.19: _DEFAULT_SOURCE glibc 2.19 i versiunile anterioare: _BSD_SOURCE DESCRIERE openlog() openlog() deschide o conexiune la jurnalul de sistem pentru un program. irul indicat de ident este ataat fiecarui mesaj i este de obicei stabilit la numele programului. Daca ident este NULL, se utilizeaza numele programului. (POSIX.1-2008 nu specifica comportamentul atunci cand ident este NULL). Argumentul option specifica fanioanele care controleaza funcionarea openlog() i apelurile ulterioare la syslog(). Argumentul facility stabilete o valoare implicita care va fi utilizata in cazul in care nu este specificata niciuna in apelurile ulterioare la syslog(). Valorile care pot fi specificate pentru option i facility sunt descrise mai jos. Utilizarea lui openlog() este opionala; acesta va fi apelat automat de syslog() daca este necesar, caz in care ident va fi implicit NULL. syslog() i vsyslog() syslog() genereaza un mesaj de jurnal, care va fi distribuit de syslogd(8). Argumentul priority este format prin asocierea OR logic a unei valori facility i a unei valori level (descrisa mai jos). In cazul in care nicio valoare facility nu este combinata prin OR logic in priority, se utilizeaza valoarea implicita stabilita de openlog() sau, daca nu a existat niciun apel openlog() anterior, se utilizeaza valoarea implicita LOG_USER. Argumentele ramase sunt un format, ca in printf(3), i orice argumente cerute de format, cu excepia faptului ca secvena de doua caractere %m va fi inlocuita de irul de mesaje de eroare strerror(errno). irul de formate nu trebuie sa includa un caracter de sfarit de linie noua. Funcia vsyslog() indeplinete aceeai sarcina ca i funcia syslog(), cu diferena ca aceasta preia un set de argumente care au fost obinute utilizand macroinstruciunile de lista de argumente variabile stdarg(3). closelog() closelog() inchide descriptorul de fiier utilizat pentru a scrie in jurnalul sistemului. Utilizarea closelog() este opionala. Valori pentru option (opiune) Argumentul option pentru openlog() este o masca de bii construita prin asocierea pri OR logic a oricareia dintre urmatoarele valori: LOG_CONS Scrie direct in consola sistemului daca exista o eroare la trimiterea catre jurnalul de sistem. LOG_NDELAY Deschide conexiunea imediat (in mod normal, conexiunea este deschisa atunci cand este inregistrat primul mesaj). Acest lucru poate fi util, de exemplu, in cazul in care un chroot(2) ulterior ar face ca numele de ruta utilizat intern de facilitatea de jurnalizare sa fie inaccesibil. LOG_NOWAIT Nu ateapta procesele copil care ar fi putut fi create in timpul inregistrarii mesajului; (biblioteca GNU C nu creeaza un proces copil, deci aceasta opiune nu are niciun efect in Linux). LOG_ODELAY Reciproca lui LOG_NDELAY; deschiderea conexiunii este amanata pana la apelarea lui syslog(); (aceasta este valoarea implicita i nu este necesar sa fie specificata). LOG_PERROR (Nu in POSIX.1-2001 sau POSIX.1-2008.) De asemenea, inregistreaza mesajul la stderr. LOG_PID Include PID-ul apelantului cu fiecare mesaj. Valori pentru facility (facilitate) Argumentul facility este utilizat pentru a specifica ce tip de program inregistreaza mesajul. Acest lucru permite fiierului de configurare sa specifice ca mesajele de la diferite facilitai vor fi tratate diferit. LOG_AUTH mesaje de securitate/autorizare LOG_AUTHPRIV mesaje de securitate/autorizare (private) LOG_CRON demonul ceasului (cron i at) LOG_DAEMON demoni de sistem fara valoare de facilitate(facility) separata LOG_FTP demon FTP LOG_KERN mesaje ale nucleului (acestea nu pot fi generate de procesele utilizatorului) LOG_LOCAL0 pana la LOG_LOCAL7 rezervate pentru uz local LOG_LPR subsistem de imprimanta de linie LOG_MAIL subsistemul de pota electronica LOG_NEWS subsistemul de tiri USENET LOG_SYSLOG mesaje generate intern de syslogd(8) LOG_USER (implicit) mesaje generice la nivel de utilizator LOG_UUCP subsistemul UUCP Valori pentru level (nivel) Acesta determina importana mesajului. Nivelurile sunt, in ordinea descrescatoare a importanei: LOG_EMERG sistemul este inutilizabil LOG_ALERT trebuie sa se ia imediat masuri LOG_CRIT condiii critice LOG_ERR condiii de eroare LOG_WARNING condiii de avertizare LOG_NOTICE condiie normala, dar semnificativa LOG_INFO mesaj informativ LOG_DEBUG mesaj de nivel de depanare Funcia setlogmask(3) poate fi utilizata pentru a restriciona inregistrarea numai la nivelurile specificate. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +---------------------------+---------------------+--------------------+ |Interfaa | Atribut | Valoare | +---------------------------+---------------------+--------------------+ |openlog(), closelog() | Sigurana firelor | MT-Safe | +---------------------------+---------------------+--------------------+ |syslog(), vsyslog() | Sigurana firelor | MT-Safe env locale | +---------------------------+---------------------+--------------------+ STANDARDE syslog() openlog() closelog() POSIX.1-2008. vsyslog() Niciunul. ISTORIC syslog() 4.2BSD, SUSv2, POSIX.1-2001. openlog() closelog() 4.3BSD, SUSv2, POSIX.1-2001. vsyslog() 4.3BSD-Reno. POSIX.1-2001 specifica doar valorile LOG_USER i LOG_LOCAL* pentru facility. Cu toate acestea, cu excepia valorilor LOG_AUTHPRIV i LOG_FTP, celelalte valori facility apar in majoritatea sistemelor UNIX. Valoarea LOG_PERROR pentru option nu este specificata de POSIX.1-2001 sau POSIX.1-2008, dar este disponibila in majoritatea versiunilor de UNIX. NOTE Argumentul ident in apelul lui openlog() este probabil stocat ca atare. Astfel, daca irul la care indica este modificat, syslog() poate incepe sa antepuna irul modificat, iar daca irul la care indica inceteaza sa mai existe, rezultatele sunt nedefinite. Cel mai portabil mod este sa se utilizeze o constanta de ir de caractere. Nu trecei niciodata un ir de caractere cu date furnizate de utilizator ca format, utilizai in schimb urmatorul format: syslog(priority, "%s", string); CONSULTAI I journalctl(1), logger(1), setlogmask(3), syslog.conf(5), syslogd(8) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.15 17 mai 2025 syslog(3)