守護進程的日誌實現

1. syslogd守護進程用於解決守護進程的日誌記錄問題,而日誌信息保存的位置和記錄的信息級別是在syslogd守護進程的配置文件中設定的。

 

2. 守護進程日誌的實現主要有以下三個函數:

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

void syslog(int priority, const char *format,...);

void closelog(void);

openlog:用於打開系統日誌連接,只有在打開連接後,才能使用syslog向日志文件中添加信息。

closelog:關閉打開的系統日誌文件(在實際編程中,可選)

參數簡介:

ident:指定信息來源

option:

option

說明

LOG_CONS 如果信息發送給syslogd時發生錯誤,直接將信息輸出到終端
LOG_NDELAY 立即打開與系統日誌的連接(通常,在產生第一條日誌信息的情況下才會打開與日記系統的連接)
LOG_NOWAIT 在記錄日誌信息時,不等待可能的子進程的創建
LOG_ODELAY 類似於LOG_NDELAY,日記系統在調用syslog函數時才創建
LOG_PERROR 將信息寫入日誌的同時,也發送到標準錯誤輸出
LOG_PID 每條日誌信息包括進程號

facility:

facility 說明
LOG_KERN kern
LOG_USER user
LOG_MAIN main
LOG_DAEMON daemon
LOG_AUTH auth
LOG_SYSLOG syslog
LOG_LPR lpr
LOG_NEWS news
LOG_UUCP uucp
LOG_CRON cron
LOG_AUTHPRIV authpriv
LOG_FTP ftp
LOG_LOCAL0 ~ LOG_LOCAL7 local0 ~ local7

priority:

Priority syslog.conf中level的取值
LOG_EMERG emerg
LOG_ALERT alert
LOG_CRIT crit
LOG_ERR err
LOG_WARNING warning
LOG_NOTICE notice
LOG_INFO info
LOG_DEBUG debug

 

3. 參考代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章