1.openlog() 函数介绍:
函数格式:
#include<syslog.h>
void openlog (char*ident,int option ,int facility);
函数作用:
该函数用于打开一个向系统日志记录程序的一个连接,打开该连接后就可以通过syslog()或Vsyslog()向系统中添加日志信息。
参数介绍:
-
ident参数介绍
用来表识哪个程序的log 输出,通常定位为程序名称。如wpa_supplicant。
如果该参数为NULL 则默认使用程序名称。 -
option 参数介绍:
主要是一些参数设置,如LOG_PID ,LOG_NDELAY.
LOG_PID: 日志信息包含PID 信息
LOG_NDELAY:立即打开连接,通常是在有第一条log时才打开连接。
具体参考man openlog手册 。openlog 参考手册 -
facility 参数介绍:
工厂参数设置哪些类型记录的消息,该参数让配置文件根据参数类型有不同的处理。
比如:LOG_DAEMON–表示没有单独设施值的系统守护进程。
参考资料:openlog() man page
2. closelog()函数介绍:
函数格式:
void closelog();
函数作用:
关闭用于写入系统记录器的描述符
3.syslog() 函数介绍:
函数格式:
void syslog(int priority,char*format,……)
函数作用:
生成日志消息,由syslogd 发送。
参考手册:syslogd linux man page
函数参数:
-
priority 参数:
该参数是由llevel和facility 参数共同决定
常用Level:
LOG_WARNING:警告消息
LOG_ERR: 错误消息
常用facility:
LOG_DAEMON -
format 参数:
如同printf 的输出格式
参考资料:syslog man page
使用范例:
参考网址:范例网址
#include <syslog.h>
int main(int argc, char *argv[])
{
openlog("APPTest", LOG_NDELAY | LOG_PID, LOG_DAEMON);
syslog(LOG_DEBUG,
"This is a syslog test message generated by program '%s'\n",
argv[0]);
closelog();
return0;
}