在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;
}