syslog set tag dari api?

1

Saya dapat memompa pesan ke dengan syslogtag menggunakan yang berikut dari baris perintah menggunakan -topsi:

myprogram | logger -t MYTAG

Dan filter selanjutnya berdasarkan tag itu:

:syslogtag, contains, "MYTAG" /var/log/mylog

Dalam contoh di atas saya memompa stdout ke loggerutilitas. Namun, saya ingin mendorong pesan dengan tag itu langsung dari myprogramke syslog tetapi saya tidak dapat menemukan apa pun yang terkait dengan menambahkan tag dalam dokumentasi syslog .

Menggunakan panggilan berikut:

#include <syslog.h>
...
syslog(LOG_DAEMON | LOG_DEBUG, "mymessage");

Syslogtag akhirnya menjadi:

syslog
dtmland
sumber
1
loggermenyebutnya tag tetapi perpustakaan menyebutnya ident
Bratchley

Jawaban:

0

Kesalahpahaman sederhana - sebelum memanggil syslogfungsi saya harus menggunakan openlogfungsi:

openlog("MYTAG", LOG_CONS | LOG_PID, LOG_DAEMON);

Itu berhasil!

dtmland
sumber