+void yaz_log_init_prefix2 (const char *prefix)
+{
+ if (prefix && *prefix)
+ sprintf(l_prefix2, "%.511s ", prefix);
+ else
+ *l_prefix2 = 0;
+}
+
+void yaz_log_init(int level, const char *prefix, const char *fname)
+{
+ yaz_log_init_level (level);
+ yaz_log_init_prefix (prefix);
+ if (fname && *fname)
+ yaz_log_init_file (fname);
+}
+
+static void (*start_hook_func)(int, const char *, void *) = NULL;
+static void *start_hook_info;
+static void (*end_hook_func)(int, const char *, void *) = NULL;
+static void *end_hook_info;
+
+void log_event_start (void (*func)(int, const char *, void *), void *info)
+{
+ start_hook_func = func;
+ start_hook_info = info;
+}
+
+void log_event_end (void (*func)(int, const char *, void *), void *info)
+{
+ end_hook_func = func;
+ end_hook_info = info;
+}
+
+void yaz_log(int level, const char *fmt, ...)