diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2009-03-20 11:54:15 -0400 |
---|---|---|
committer | Masami Hiramatsu <mhiramat@redhat.com> | 2009-03-20 11:54:15 -0400 |
commit | f0b8d2671fa56e0e1dcb4cc09fd6f7edf70f8fa3 (patch) | |
tree | 23e89323e440e216b7cb4bf359e1a2bda54edd40 /runtime/staprun/staprun.h | |
parent | 0cf9ea606eb7677a1241595f7568dd4a6c243ef2 (diff) | |
download | systemtap-steved-f0b8d2671fa56e0e1dcb4cc09fd6f7edf70f8fa3.tar.gz systemtap-steved-f0b8d2671fa56e0e1dcb4cc09fd6f7edf70f8fa3.tar.xz systemtap-steved-f0b8d2671fa56e0e1dcb4cc09fd6f7edf70f8fa3.zip |
PR6930: staprun: supports error message to syslog
Add an interface (eprintf) to output error messages to syslogd,
because staprun has no stderr after detaching from console.
Diffstat (limited to 'runtime/staprun/staprun.h')
-rw-r--r-- | runtime/staprun/staprun.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/runtime/staprun/staprun.h b/runtime/staprun/staprun.h index 84cf63fc..4c43e3ee 100644 --- a/runtime/staprun/staprun.h +++ b/runtime/staprun/staprun.h @@ -33,31 +33,35 @@ #include <sys/wait.h> #include <sys/statfs.h> #include <linux/version.h> +#include <syslog.h> /* Include config.h to pick up dependency for --prefix usage. */ #include "config.h" -#define dbug(level, args...) {if (verbose>=level) {fprintf(stderr,"%s:%s:%d ",__name__,__FUNCTION__, __LINE__); fprintf(stderr,args);}} +extern void eprintf(const char *fmt, ...); +extern void switch_syslog(const char *name); + +#define dbug(level, args...) do {if (verbose>=level) {eprintf("%s:%s:%d ",__name__,__FUNCTION__, __LINE__); eprintf(args);}} while (0) extern char *__name__; /* print to stderr */ -#define err(args...) fprintf(stderr,args) +#define err(args...) eprintf(args) /* better perror() */ #define perr(args...) do { \ int _errno = errno; \ - fputs("ERROR: ", stderr); \ - fprintf(stderr, args); \ - fprintf(stderr, ": %s\n", strerror(_errno)); \ + eprintf("ERROR: "); \ + eprintf(args); \ + eprintf(": %s\n", strerror(_errno)); \ } while (0) /* Error messages. Use these for serious errors, not informational messages to stderr. */ -#define _err(args...) do {fprintf(stderr,"%s:%s:%d: ERROR: ",__name__, __FUNCTION__, __LINE__); fprintf(stderr,args);} while(0) +#define _err(args...) do {eprintf("%s:%s:%d: ERROR: ",__name__, __FUNCTION__, __LINE__); eprintf(args);} while(0) #define _perr(args...) do { \ int _errno = errno; \ _err(args); \ - fprintf(stderr, ": %s\n", strerror(_errno)); \ + eprintf(": %s\n", strerror(_errno)); \ } while (0) #define overflow_error() _err("Internal buffer overflow. Please file a bug report.\n") |