【发布时间】:2018-01-16 02:15:42
【问题描述】:
在linux命令行中使用man 3 syslog命令,我们可以看到功能介绍如下:
void openlog(const char *ident, int option, int facility);
void syslog(int priority, const char *format, ...);
void closelog(void);
我们可以发现这些函数的返回值都是'void',所以 如何知道“syslog(...)”之类的函数是否被成功调用? 如果在centos上停止rsyslog服务,也可以正常运行以下程序:
#include <syslog.h>
int main(int argc, char *argv[])
{
openlog("testsyslog", LOG_CONS | LOG_PID, LOG_LOCAL3);
syslog(LOG_USER | LOG_INFO, "syslog test message generated in program %s(=======from test!) \n", argv[0]);
closelog();
return 0;
}
【问题讨论】:
-
使用
perror()。perror("syslog") -
但是如果我停止rsyslog的服务,我会从
perror得到success。