syslog, vsyslog
Önceki Syslog İletilerinin Teslim Edilmesi Sonraki
syslog, vsyslog
Bu bölümdeki semboller syslog.h dosyasında bildirilmiştir.
void syslog
(int   oluşum_öncelik,
 char *biçim,
 ...)
işlev
syslog bir iletiyi Syslog'a teslim eder. Bunu Unix alan soketi olan /dev/log'a yazarak yapar.
syslog iletiyi oluşum_öncelik ile belirtilen oluşum ve öncelikle teslim eder. Bir oluşum ve öncelikten bir oluşum/öncelik değeri LOG_MAKEPRI makrosu ile şöyle üretilir:
LOG_MAKEPRI(LOG_USER, LOG_WARNING)
Oluşum kodu için olası değerler (makrolar):
LOG_USER
Bir kullanıcı süreci
LOG_MAIL
Posta
LOG_DAEMON
Bir sistem artalan süreci
LOG_AUTH
Güvenlik (kimlik denetimi)
LOG_SYSLOG
Syslog
LOG_LPR
Merkezi yazıcı
LOG_NEWS
Ağ haberleri (yani, Usenet)
LOG_UUCP
UUCP
LOG_CRON
Cron ve At
LOG_AUTHPRIV
Özel güvenlik (kimlik denetimi)
LOG_FTP
Ftp sunucu
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7
Yerel olarak tanımlı
Oluşum kodu bunların dışında bir değerse sonuç tanımsızdır.
Not
syslog başka bir oluşum kodunu daha tanır: bu çekirdektir. Ama onun oluşum kodunu bu işlevlerle belirtemezsiniz. Eğer denerseniz syslog öntanımlı oluşum isteği yapılmış gibi davranır. Fakat bunu hiçbir şekilde denememelisiniz, çünkü çekirdek GNU C kütüphanesini kullanan bir yazılım değildir.
oluşum_öncelik olarak bir öncelik kodu da belrtebilirsiniz. Bu durumda, syslog çağrısı Syslog bağlantısı açıldığında öntanımlı oluşum kurulmuş kabul eder. Bkz. Syslog Örneği.
Öncelik kodu için olası değerler (makrolar):
LOG_EMERG
İleti, sistem işe yaramaz diyor.
LOG_ALERT
İleti hemen birşeyler yapılmasını istiyor.
LOG_CRIT
İleti ölümcül bir durumu belirtiyor.
LOG_ERR
İleti, bir hatanın açıklaması
LOG_WARNING
İleti, bir uyarı.
LOG_NOTICE
İleti, bir normal ama önamli bir olayı bildiriyor.
LOG_INFO
İleti sadece bilgilendirme amaçlı.
LOG_DEBUG
İleti sadece hata ayıklama ile ilgili.
Öncelik kodu bunların dışında bir değerse sonuç tanımsızdır.
Eğer süreç açık bir Syslog bağlantısına sahip değilse (yani openlog çağrısı yapılmamışsa), syslog işlevi openlog'un yaptığı gibi hemen bağlantıyı açar. Bağlantıyı açarken, aksi sadece bir openlog çağrısı ile belirtilebilecek bilgi için şu öntanımlıları kullanır: Öntanımlı kimliklendirme dizgesi yazılımın ismidir. Öntanımlı oluşum LOG_USER'dır. seçenek ile belirtilen bitlerin hepsi sıfırdır. syslog bağlantıyı açık bırakır.
Eğer dev/log soketi açık ve bağlı değilse, syslog, openlog işlevinin LOG_NDELAY seçeneğiyle yaptığı gibi onu açar ve bağlanır.
syslog iletiyi göndermeye çalışırkan başarısız olmazsa, /dev/log'u açık ve bağlı bırakır, aksi takdirde syslog onu kapatır (ileride bir örtük açılışın Syslog bağlantısını kullanışlı bir durumda açacağını umarak).
Örnek:
#include <syslog.h>
  syslog (LOG_MAKEPRI(LOG_LOCAL1, LOG_ERROR),
          "Unable to make network connection to %s.  Error=%m", host);
void vsyslog
(int     oluşum_öncelik,
 char   *biçim,
 va_list arglist)
işlev
BSD tarzı değişken sayıda argümanlı olarak syslog'un benzeridir.
Önceki Üst Ana Başlık Sonraki
openlog Başlangıç closelog
Bir Linux Kitaplığı Sayfası