genfio: Splitting gen_template in 2 parts
[fio.git] / log.h
diff --git a/log.h b/log.h
index eea1129ba4ff3756fcd969545b6340e6fcc34032..a885be7253628e28950115944cca2d937be653c7 100644 (file)
--- a/log.h
+++ b/log.h
@@ -2,23 +2,25 @@
 #define FIO_LOG_H
 
 #include <stdio.h>
+#include <stdarg.h>
 
 extern FILE *f_out;
 extern FILE *f_err;
 
-/*
- * If logging output to a file, stderr should go to both stderr and f_err
- */
-#define log_err(args, ...)     do {                            \
-       fprintf(f_err, args,  ##__VA_ARGS__);           \
-       if (f_err != stderr)                                            \
-               fprintf(stderr, args,  ##__VA_ARGS__);  \
-       } while (0)
+extern int log_err(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
+extern int log_info(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
+extern int log_local(const char *format, ...) __attribute__ ((__format__ (__printf__, 1, 2)));
+extern int log_valist(const char *str, va_list);
+extern int log_local_buf(const char *buf, size_t);
+extern int log_info_flush(void);
 
-#define log_info(args, ...)    fprintf(f_out, args, ##__VA_ARGS__)
-#define log_valist(str, args)  vfprintf(f_out, (str), (args))
+enum {
+       FIO_LOG_DEBUG   = 1,
+       FIO_LOG_INFO    = 2,
+       FIO_LOG_ERR     = 3,
+       FIO_LOG_NR      = 4,
+};
 
-FILE *get_f_out(void);
-FILE *get_f_err(void);
+extern const char *log_get_level(int level);
 
 #endif