+/** \brief Truncate the log file */
+YAZ_EXPORT void yaz_log_trunc(void);
+
+/** \brief installs hook to be called before each log msg
+ \param func function to be called
+ \param info user data to be passed to function
+ */
+YAZ_EXPORT void log_event_start(void (*func)(int level, const char *msg,
+ void *info), void *info);
+
+/** \brief installs hook to be called after each log msg
+ \param func function to be called
+ \param info user data to be passed to function
+ */
+YAZ_EXPORT void log_event_end(void (*func)(int level, const char *msg,
+ void *info), void *info);
+
+/** \brief Makes Libxml2 and Libxslt log errors through yaz_log
+ \param prefix prefix to use for log messages (may be 0)
+ \param log_level log level to use for Libxml2/Libxslt messages
+*/
+YAZ_EXPORT void yaz_log_xml_errors(const char *prefix, int log_level);
+
+/** \brief Lock for YAZ log writes
+*/
+YAZ_EXPORT void yaz_log_lock(void);
+
+/** \brief Unlock for YAZ log writes
+*/
+YAZ_EXPORT void yaz_log_unlock(void);