在Linux程序設計中經常需要將程序日志寫入Syslog中(即/var/log/message之類的文件)。通常可調用UNIX的API函數:syslog、openlog和closelog。這些函數定義在syslog.h頭文件中。三個函數的聲明和參數說明如下:
-
void syslog(int priority,const char * message,...);//寫日志
參數priority表示日志的級別(
如LOG_EMERG,LOG_INFO
)和設施(如LOG_AUTH,LOG_CRON)。
-
void openlog(const char* ident,int option,int facility);//打開日志
參數ident: 應用的名字
參數option 如下選項:LOG_CONS,LOG_NDELAY,LOG_PERROR,LOG_PID
參數facility 缺省的設施
-
void closelog(void);//關閉日志
沒有什么比例程更能表達:
#include <syslog.h>
int main(void)
{
? ? openlog("Test Log",LOG_CONS|LOG_PID,LOG_USER);
??? syslog(LOG_INFO,"TEST LOG:%d-%s",32 /*%d的值*/ ,"test String" /*%s的值*/ );
??? closelog();
??? return 0;
}