在C语言中,哪种方法是生成IETF-syslog消息的标准方法?有标头<syslog.h>。但是它没有提供使用STRUCTURED-DATA机制(rfc-5424)的选项。当然,消息也可以直接手工构造到套接字中,但这种方式似乎并不规范。有没有其他标准的方法?
wxclj1h51#
执行此操作的标准方法是让应用程序使用<syslog.h>中的常规openlog()、syslog()和closelog()例程来记录消息。这将把消息发送到本地机器上运行的syslogd。如果消息随后要使用syslog协议通过网络转发,syslogd本身将负责此操作。例如,可以使用syslogd.conf文件中的@hostname这样的目标来完成此操作。简而言之,您的应用程序需要将消息记录到syslogd,并由syslogd决定将消息发送到何处(包括通过网络)。
<syslog.h>
openlog()
syslog()
closelog()
syslogd
syslogd.conf
@hostname
lb3vh1jj2#
嗯... that RFC还不到2年。我不认为这是一个很大的惊喜,看到通常的嫌疑人还没有实现它。
2条答案
按热度按时间wxclj1h51#
执行此操作的标准方法是让应用程序使用
<syslog.h>
中的常规openlog()
、syslog()
和closelog()
例程来记录消息。这将把消息发送到本地机器上运行的
syslogd
。如果消息随后要使用syslog协议通过网络转发,syslogd
本身将负责此操作。例如,可以使用syslogd.conf
文件中的@hostname
这样的目标来完成此操作。简而言之,您的应用程序需要将消息记录到
syslogd
,并由syslogd
决定将消息发送到何处(包括通过网络)。lb3vh1jj2#
嗯... that RFC还不到2年。我不认为这是一个很大的惊喜,看到通常的嫌疑人还没有实现它。