在keepalived日志处理中,使用syslog来进程日志的存储。在keepalived的处理中新规函数如下所示:
头文件:lib/logger.h
函数形式:void log_message(int priority, char* format, ...);
函数功能:进行系统log记录
log_message函数处理如下所示:
void
log_message(const int facility, const char *format, ...)
{
/* 声明一个va_list */
va_list args;
char buf[256];
/* 使用va_start函数来获取参数列表中的参数 */
<strong>va_start</strong>(args, format);
/* 根据参数args和类型format,向buf中打印数据 */
<strong>vsnprintf</strong>(buf, sizeof(buf), format, args);
/* 使用完毕后调用va_end结束 */
<strong>va_end</strong>(args);
if (log_console) {
fprintf(stderr, "%s\n", buf);
}
<strong>syslog</strong>(facility, "%s", buf);
}
日志函数: