用于生成系统日志消息的C语言的标准接口

时间:2010-06-28 15:07:36

标签: c syslog

使用C语言生成IETF-syslog消息的标准方法是什么?

标题< syslog.h>。但它没有提供使用STRUCTURED-DATA机制(rfc-5424)的选项。

当然,消息可以直接手工构建到套接字。但似乎这种方式并不标准。

还有另一种标准方式吗?

2 个答案:

答案 0 :(得分:1)

嗯... that rfc不到2年。我不认为看到那些因为怀疑的嫌疑人尚未实施它而感到非常惊讶。

答案 1 :(得分:1)

执行此操作的标准方法是使用openlog()中的常规syslog()closelog()<syslog.h>例程让您的应用程序记录消息。

这会将消息发送到本地计算机上运行的syslogd。如果然后使用syslog协议通过网络转发消息,syslogd本身将处理此问题。例如,可以使用@hostname文件中的syslogd.conf等目标来完成此操作。

简而言之,您的应用程序需要将消息记录到syslogdsyslogd决定将它们发送到何处(包括通过网络)。这允许本地管理员进行最大程度的控制。