Eu encontrei a resposta. Você precisa usar sd_journal_send () em systemd / sd-journal.h. Você também pode usar as tags SYSLOG_IDENTIFIER e SYSLOG_PID para personalizar o que é usado. Mais informações sobre as tags disponíveis podem ser encontradas aqui .
Exemplo:
std::string sysLogIdentifier("SYSLOG_IDENTIFIER=");
sysLogIdentifier += program_invocation_short_name;
std::string sysLogPid("SYSLOG_PID=");
sysLogPid += getpid();
sd_journal_send("MESSAGE=Found the answer",
sysLogIdentifier.c_str(),
sysLogPid.c_str(),
NULL);
Saída:
Feb 10 17:11:48 hostname processB [1418]: Found the answer