Simples mal entendido - antes de chamar a função syslog
eu tenho que usar a função openlog
:
openlog("MYTAG", LOG_CONS | LOG_PID, LOG_DAEMON);
Isso faz isso!
Posso inserir mensagens em rsyslog com um syslogtag usando o seguinte na linha de comando usando a opção -t
:
myprogram | logger -t MYTAG
E mais tarde, filtro com base nessa tag:
:syslogtag, contains, "MYTAG" /var/log/mylog
No exemplo acima, estou bombeando stdout para o utilitário logger
. No entanto, eu gostaria de enviar mensagens com essa tag diretamente de myprogram
para o syslog, mas parece que não consigo encontrar nada relacionado à adição de tags na documentação do syslog .
Usando a seguinte chamada:
#include <syslog.h>
...
syslog(LOG_DAEMON | LOG_DEBUG, "mymessage");
O syslogtag simplesmente acaba sendo:
syslog