C API системного журнала - как переопределить _PATH_LOG - PullRequest
0 голосов
/ 06 января 2020

Я строю что-то на Linux, которое включает syslog.h, но я хочу переопределить определение для _PATH_LOG, которое в настоящее время указывает на / dev / log

Я хочу, чтобы API syslog для этой программы только указывал в другой сокет и никогда не отправляйте его в / dev / log из-за необоснованных ограничений, наложенных Systemd. Как я могу переопределить это определение только для этой сборки? Определение вложено в syslog-path.h, который включен в syslog.h, поэтому моя программа косвенно включает заголовок, который определяет эту переменную.

1 Ответ

0 голосов
/ 06 января 2020

Если вы включите syslog.h, вы используете system logger вашей машины (например, syslogd).

По своему дизайну приложения генерируют системные журналы, а сервер системного журнала решает, где журналы go. Если вы хотите использовать системный регистратор и иметь журналы вашего приложения go для пользовательской конечной точки, вам нужно будет изменить конфигурацию сервера системного журналирования. Вы не можете указать пользовательскую конечную точку в коде из вашего приложения.

Если вы хотите отправлять системные журналы непосредственно из вашего приложения на удаленный сервер системных журналов (в обход системного регистратора), вы можете сделать это с помощью третьей клиентская библиотека syslog.

...