static unsigned ourFacility = LOG_USER;
void SYSLOG_syslog(int priority, const char *message, ...) {
- va_list ap;
- static const char *pri = "PACEWNID";
- char idPri[OUR_IDENT_LEN + 3];
- static const char *mode[] = {
- "\033[0;1m\033[43;31m",
- "\033[0;1m\033[43;39m",
- "\033[43;39m",
- "\033[0;1m\033[49;31m",
- "\033[0;1m",
- "\033[0;1m\033[49;32m",
- "",
- "",
- "\033[49;39m\033[0m"
- };
-
- sprintf(idPri, "%s<%c>", ourIdent, pri[priority]);
-
- if ((ourLogopt & LOG_PERROR) && (ourMaskpri & (1 << priority))) {
- fprintf(stderr, "%s", mode[priority]);
- fprintf(stderr, "%s: ", idPri);
+ if (ourMaskpri & (1 << priority)) {
+ va_list ap;
+ static const char *pri = "PACEWNID";
+ char idPri[OUR_IDENT_LEN + 3];
+
+ sprintf(idPri, "%s<%c>", ourIdent, pri[priority]);
+ if (ourLogopt & LOG_PERROR) {
+ static const char *mode[] = {
+ "\033[0;1m\033[43;31m",
+ "\033[0;1m\033[43;39m",
+ "\033[43;39m",
+ "\033[0;1m\033[49;31m",
+ "\033[0;1m",
+ "\033[0;1m\033[49;32m",
+ "",
+ "",
+ "\033[49;39m\033[0m"
+ };
+ fprintf(stderr, "%s", mode[priority]);
+ fprintf(stderr, "%s: ", idPri);
+ va_start(ap, message);
+ vfprintf(stderr, message, ap);
+ va_end(ap);
+ fprintf(stderr, "%s", mode[LOG_DEBUG + 1]);
+ fprintf(stderr, "%c", '\n');
+ }
+
+ openlog(idPri, ourLogopt & ~LOG_PERROR, ourFacility);
va_start(ap, message);
- vfprintf(stderr, message, ap);
+ vsyslog(priority, message, ap);
va_end(ap);
- fprintf(stderr, "%s", mode[LOG_DEBUG + 1]);
- fprintf(stderr, "%c", '\n');
+ closelog();
}
-
- openlog(idPri, ourLogopt & ~LOG_PERROR, ourFacility);
- va_start(ap, message);
- vsyslog(priority, message, ap);
- va_end(ap);
- closelog();
}
void SYSLOG_openlog(const char *ident, int logopt, int facility) {