0

以下代码将消息发送到文件 /var/log/syslog。我有一个正在侦听端口 514(rsyslog)的远程服务器。有什么方法可以更改此代码,以便将消息发送到远程服务器?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <syslog.h>

int main(int argc, char *argv[])
{

  openlog ("Engine", LOG_CONS | LOG_PID | LOG_NDELAY, LOG_LOCAL1);
  syslog(LOG_NOTICE,"***Example***");

}
4

1 回答 1

0

据我所知,使用您所描述的 openlog 和 syslog 将登录到 syslog.conf 中配置的服务器,因此您无法以您想要的方式指定服务器。您可以在 syslog.conf 中设置远程服务器,这应该可以工作。

如果您不希望这样做,您要么需要使用支持 syslog 作为接收器的库,要么需要实现自己的 - 这并不难。

于 2013-06-13T16:06:41.083 回答