在Linux程序設(shè)計中經(jīng)常需要將程序日志寫入Syslog中(即/var/log/message之類的文件)。通常可調(diào)用UNIX的API函數(shù):syslog、openlog和closelog。這些函數(shù)定義在syslog.h頭文件中。三個函數(shù)的聲明和參數(shù)說明如下:
-
void syslog(int priority,const char * message,...);//寫日志
參數(shù)priority表示日志的級別(
如LOG_EMERG,LOG_INFO
)和設(shè)施(如LOG_AUTH,LOG_CRON)。
-
void openlog(const char* ident,int option,int facility);//打開日志
參數(shù)ident: 應用的名字
參數(shù)option 如下選項:LOG_CONS,LOG_NDELAY,LOG_PERROR,LOG_PID
參數(shù)facility 缺省的設(shè)施
-
void closelog(void);//關(guān)閉日志
沒有什么比例程更能表達:
#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;
}