Как отправить сообщение в удаленный системный журнал с помощью syslog.h

Следующий код отправляет сообщение в файл / 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***");

}

0

Решение

Насколько мне известно, использование openlog и syslog, как вы описываете, будет входить на сервер, настроенный в syslog.conf, поэтому вы не можете указать сервер так, как вам хочется. Вы можете настроить удаленный сервер в syslog.conf, и это должно работать.

Если вы не хотите этого делать, вам нужно либо использовать библиотеку, которая поддерживает системный журнал, в качестве приемника, либо вам нужно реализовать свой собственный — что не очень сложно.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]