只要三個API就可以了!
void openlog( char *ident, int option, int facility)
ident當前程序的標記名稱
option
用於openlog()的option參數可以是以下幾個的組合:
LOG_CONS : 如果送到system logger時發生問題,直接寫入系統console。
LOG_NDELAY : 立即開啟連接(通常,連接是在第一次寫入訊息時才打開的)。
LOG_PERROR : 將訊息也同時送到stderr
LOG_PID : 將PID含入所有訊息中
facility
facility參數用來指定何種程式在記錄訊息,這可讓設定檔來設定何種訊息如何處理。
LOG_AUTH : 安全/授權訊息(別用這個,請改用LOG_AUTHPRIV)
LOG_AUTHPRIV : 安全/授權訊息
LOG_CRON : 時間守護神專用(cron及at)
LOG_DAEMON : 其它系統守護神
LOG_KERN : 核心訊息
LOG_LOCAL0到LOG_LOCAL7 : 保留
LOG_LPR : line printer次系統
LOG_MAIL : mail次系統
LOG_NEWS : USENET news次系統
LOG_SYSLOG : syslogd內部所產生的訊息
LOG_USER(default) : 一般使用者等級訊息
LOG_UUCP : UUCP次系統
void syslog( int priority, char *format, ...)
priority決定訊息的重要性. 以下的等級重要性逐次遞減:
LOG_EMERG : 系統無法使用
LOG_ALERT : 必須要立即採取反應行動
LOG_CRIT : 重要狀況發生
LOG_ERR : 錯誤狀況發生
LOG_WARNING : 警告狀況發生
LOG_NOTICE : 一般狀況,但也是重要狀況
LOG_INFO : 資訊訊息
LOG_DEBUG : 除錯訊息
format
訊息的格式
void closelog( void )
關閉syslog#include <syslog.h>
void main(){
openlog("myLog", LOG_CONS|LOG_PID, LOG_USER);
syslog(LOG_INFO, "My first log test!");
closelog();
}
沒有留言:
張貼留言