diff options
-rw-r--r-- | runtime/rsyslog.c | 13 | ||||
-rw-r--r-- | runtime/rsyslog.h | 1 | ||||
-rw-r--r-- | tools/syslogd.c | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/runtime/rsyslog.c b/runtime/rsyslog.c index 95ac23ef..c05119d8 100644 --- a/runtime/rsyslog.c +++ b/runtime/rsyslog.c @@ -103,6 +103,19 @@ static rsRetVal dfltErrLogger(uchar *errMsg) } +/* set the error log function + * rgerhards, 2008-04-18 + */ +rsRetVal +rsrtSetErrLogger(rsRetVal (*errLogger)(uchar*)) +{ + DEFiRet; + assert(errLogger != NULL); + glblErrLogger = errLogger; + RETiRet; +} + + /* globally initialze the runtime system * NOTE: this is NOT thread safe and must not be called concurrently. If that * ever poses a problem, we may use proper mutex calls - not considered needed yet. diff --git a/runtime/rsyslog.h b/runtime/rsyslog.h index 868bb564..89ae1e66 100644 --- a/runtime/rsyslog.h +++ b/runtime/rsyslog.h @@ -302,6 +302,7 @@ extern rsRetVal (*glblErrLogger)(uchar*); rsRetVal rsrtInit(char **ppErrObj, obj_if_t *pObjIF); rsRetVal rsrtExit(void); int rsrtIsInit(void); +rsRetVal rsrtSetErrLogger(rsRetVal (*errLogger)(uchar*)); #endif /* multi-include protection */ /* vim:set ai: diff --git a/tools/syslogd.c b/tools/syslogd.c index f2b18a3d..4327ab7f 100644 --- a/tools/syslogd.c +++ b/tools/syslogd.c @@ -2771,6 +2771,7 @@ InitGlobalClasses(void) /* Intialize the runtime system */ pErrObj = "rsyslog runtime"; /* set in case the runtime errors before setting an object */ CHKiRet(rsrtInit(&pErrObj, &obj)); + CHKiRet(rsrtSetErrLogger(submitErrMsg)); /* set out error handler */ /* Now tell the system which classes we need ourselfs */ pErrObj = "glbl"; |