summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in9
-rw-r--r--plugin/plugin.c13
2 files changed, 18 insertions, 4 deletions
diff --git a/configure.in b/configure.in
index d17e554..f366211 100644
--- a/configure.in
+++ b/configure.in
@@ -87,6 +87,15 @@ if test "$enable_debug" = "yes"; then
echo "enabling debug compile mode"
fi
+# Log to syslog
+AC_ARG_WITH(syslog,
+ AC_HELP_STRING([--without-syslog],
+ [Don't log to syslog in addition to slapd logs]))
+
+if test "$with_syslog" != "no"; then
+ AC_DEFINE_UNQUOTED(WITH_SYSLOG, 1, [With syslog logging])
+fi
+
AC_CONFIG_FILES([
Makefile
plugin/Makefile
diff --git a/plugin/plugin.c b/plugin/plugin.c
index c34294a..54144ba 100644
--- a/plugin/plugin.c
+++ b/plugin/plugin.c
@@ -11,6 +11,9 @@
#include <assert.h>
#include <stdlib.h>
#include <ctype.h>
+#ifdef WITH_SYSLOG
+#include <syslog.h>
+#endif
#define WHITESPACE " \t\r\n\v"
@@ -35,8 +38,10 @@ log_msg_va (int level, const char* msg, va_list ap)
buf[len] = '\n';
buf[len + 1] = '\0';
-#if _DEBUG
- fprintf (stderr, "%s", buf);
+ fprintf (stderr, "%s: %s", PLUGIN_NAME, buf);
+#ifdef WITH_SYSLOG
+ if (level != SLAPI_LOG_TRACE)
+ syslog (LOG_WARNING | LOG_DAEMON, "%s: %s", PLUGIN_NAME, buf);
#endif
slapi_log_error (level, PLUGIN_NAME, buf);
}
@@ -54,8 +59,8 @@ log_msg (int level, const char* msg, ...)
void
log_trace (const char *where, int line, const char *msg)
{
- log_msg (SLAPI_LOG_TRACE, "*** %s *** %s:%d %s%s",
- PLUGIN_NAME, where, line, msg ? ": " : "", msg ? msg : "");
+ log_msg (SLAPI_LOG_TRACE, " *** %s:%d %s%s",
+ where, line, msg ? ": " : "", msg ? msg : "");
}
#endif