+/** yaz_log_init_file sets the file name used for yaz_log */
+YAZ_EXPORT void yaz_log_init_file(const char *fname);
+
+/** yaz_log_init_level sets the logging level. Use an OR of the bits above */
+YAZ_EXPORT void yaz_log_init_level(int level);
+
+/** yaz_log_init_prefix sets the log prefix */
+YAZ_EXPORT void yaz_log_init_prefix(const char *prefix);
+
+/** yaz_log_init_prefix2 sets an optional second prefix */
+YAZ_EXPORT void yaz_log_init_prefix2(const char *prefix);
+
+/**
+ * yaz_log_time_format sets the format of the timestamp. See man 3 strftime
+ * Calling with "old" sets to the old format "11:55:06-02/11"
+ * Calling with NULL or "" sets to the new format "20041102-115719"
+ * If not called at all, the old format is used, for backward compatibility
+ */
+YAZ_EXPORT void yaz_log_time_format(const char *fmt);
+
+/**
+ * yaz_log_init_max_size sets the max size for a log file.
+ * zero means no limit. Negative means built-in limit (1GB)
+ */
+YAZ_EXPORT void yaz_log_init_max_size(int mx);
+
+/**
+ * yaz_log writes an entry in the log. Defaults to stderr if not initialized
+ * to a file with yaz_log_init_file. The level must match the level set via
+ * yaz_log_init_level, optionally defined via yaz_log_mask_str. */