+void
+add_amanda_log_handler(amanda_log_handler_t *hdlr)
+{
+ amanda_log_handlers = g_slist_append(amanda_log_handlers, (gpointer)hdlr);
+}
+
+void
+amanda_log_syslog(GLogLevelFlags log_level, const gchar *message)
+{
+ int priority = LOG_ERR;
+ switch (log_level) {
+ case G_LOG_LEVEL_ERROR:
+ case G_LOG_LEVEL_CRITICAL:
+ priority = LOG_ERR;
+ break;
+
+ case G_LOG_LEVEL_WARNING:
+#ifdef LOG_WARNING
+ priority = LOG_WARNING;
+#endif
+ break;
+
+ default:
+ return;
+ }
+
+#ifdef LOG_DAEMON
+ openlog(get_pname(), LOG_PID, LOG_DAEMON);
+#else
+ openlog(get_pname(), LOG_PID, 0);
+#endif
+ syslog(priority, "%s", message);
+ closelog();
+
+}
+
+void
+amanda_log_stderr(GLogLevelFlags log_level, const gchar *message)
+{
+ switch (log_level) {
+ case G_LOG_LEVEL_ERROR:
+ case G_LOG_LEVEL_CRITICAL:
+ g_fprintf(stderr, "%s: %s\n", get_pname(), message);
+ break;
+
+ default:
+ return;
+ }
+}
+
+void
+amanda_log_null(GLogLevelFlags log_level G_GNUC_UNUSED, const gchar *message G_GNUC_UNUSED)
+{
+}
+
+/* Set the global dbgdir according to 'config' and 'subdir'