Tue, 09 Oct 2012 16:46:29 +0200
some fixes
1 #ifndef LOGGING_H
2 #define LOGGING_H
4 #include "string.h"
5 #include <stdio.h>
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
11 /* leave enough space for custom log levels */
12 #define UCX_LOGGER_ERROR 0x00
13 #define UCX_LOGGER_WARN 0x10
14 #define UCX_LOGGER_INFO 0x20
15 #define UCX_LOGGER_TRACE 0x30
17 typedef struct {
18 FILE *stream;
19 unsigned int level;
20 } UcxLogger;
22 UcxLogger *ucx_logger_new(FILE *stream, unsigned int level);
23 /* neither provide a free function nor a parameter for an allocator */
25 void ucx_logger_log(UcxLogger *logger, unsigned int level, sstr_t message);
26 #define ucx_logger_error(l,m) ucx_logger_log(l, UCX_LOGGER_ERROR, m)
27 #define ucx_logger_info(l,m) ucx_logger_log(l, UCX_LOGGER_INFO, m)
28 #define ucx_logger_warn(l,m) ucx_logger_log(l, UCX_LOGGER_WARN, m)
29 #define ucx_logger_trace(l,m) ucx_logger_log(l, UCX_LOGGER_TRACE, m)
31 #ifdef __cplusplus
32 }
33 #endif
35 #endif /* LOGGING_H */