我在C中实现了一个syslog客户端,但是当涉及到显示syslog消息的不同syslog服务器时,我得到的结果不一致。
所以我希望有人可以告诉我格式应该是什么样的。
我使用的格式如下:
msgLen = sprintf_s(syslogMessage, 1024, "<%d>%d %s %s [%s] : ", priority, version,
timestamp, hostname, applicationName);
vsnprintf(syslogMessage + msgLen , 1024 - msgLen , syslogMessage, ap);
如果有人能告诉我如何在C中格式化系统日志消息,我将不胜感激。
我将priority计算为priority = severity_level + 8 * facility_level
'版本'等于1.
'timestamp'生成为:
GetLocalTime(&stm);
sprintf_s(timestamp, 128, "%04d-%02d-%02dT%02d:%02d:%02d.%dZ", stm.wYear,
stm.wMonth, stm.wDay, stm.wHour, stm.wMinute, stm.wSecond, stm.wMilliseconds);