-void log_init(int level, const char *prefix, const char *name);
-void logf(int level, const char *fmt, ...);
-int log_mask_str (const char *str);
-int log_mask_str_x (const char *str, int level);
-FILE *log_file(void);
+YAZ_EXPORT void log_init(int level, const char *prefix, const char *name);
+YAZ_EXPORT void log_init_file (const char *fname);
+YAZ_EXPORT void log_init_level (int level);
+YAZ_EXPORT void log_init_prefix (const char *prefix);
+
+YAZ_EXPORT void logf(int level, const char *fmt, ...)
+#ifdef __GNUC__
+ __attribute__ ((format (printf, 2, 3)))
+#endif
+ ;
+YAZ_EXPORT int log_mask_str (const char *str);
+YAZ_EXPORT int log_mask_str_x (const char *str, int level);
+YAZ_EXPORT FILE *log_file(void);