On not seeing some expected log messages, I wrote this test program 'log.c':
#include <stdlib.h> #include <syslog.h> int main (int argc, char **argv) { openlog("logtest", 0, 0); syslog(LOG_MAKEPRI(LOG_USER, LOG_INFO), "hello1: via LOG_MAKPRI.\n"); syslog(LOG_INFO | LOG_USER, "hello2: via bitwise-or.\n"); syslog(LOG_INFO, "hello3: via level only.\n"); closelog(); return EXIT_SUCCESS; } and compiled it with 'gcc -o log log.c'. On Debian 'Squeeze' all three messages appear in the log. On OpenBSD 4.7 only the last two appear in the log. So it looks like LOG_MAKEPRI and syslogd are not on speaking terms. LOG_MAKEPRI is not documented in syslog(3) but is present in syslog.h. LOG_MAKEPRI doesn't appear in <http://www.opengroup.org/onlinepubs/9699919799/>. Does LOG_MAKEPRI have any status in terms of standards? Would it be better for it to be removed or redefined to issue a preprocessor error? -- Nick