35 #define as_logger_trace_enabled(__logger) \
36 as_logger_enabled(__logger, AS_LOGGER_LEVEL_TRACE)
41 #define as_logger_debug_enabled(__logger) \
42 as_logger_enabled(__logger, AS_LOGGER_LEVEL_DEBUG)
47 #define as_logger_info_enabled(__logger) \
48 as_logger_enabled(__logger, AS_LOGGER_LEVEL_INFO)
53 #define as_logger_warn_enabled(__logger) \
54 as_logger_enabled(__logger, AS_LOGGER_LEVEL_WARN)
59 #define as_logger_error_enabled(__logger) \
60 as_logger_enabled(__logger, AS_LOGGER_LEVEL_ERROR)
66 #define as_logger_trace(__logger, __message, __args...) \
67 as_logger_log(__logger, AS_LOGGER_LEVEL_TRACE, __FILE__, __LINE__, __message, ##__args)
72 #define as_logger_debug(__logger, __message, __args...) \
73 as_logger_log(__logger, AS_LOGGER_LEVEL_DEBUG, __FILE__, __LINE__, __message, ##__args)
78 #define as_logger_info(__logger, __message, __args...) \
79 as_logger_log(__logger, AS_LOGGER_LEVEL_INFO, __FILE__, __LINE__, __message, ##__args)
84 #define as_logger_warn(__logger, __message, __args...) \
85 as_logger_log(__logger, AS_LOGGER_LEVEL_WARN, __FILE__, __LINE__, __message, ##__args)
90 #define as_logger_error(__logger, __message, __args...) \
91 as_logger_log(__logger, AS_LOGGER_LEVEL_ERROR, __FILE__, __LINE__, __message, ##__args)
100 typedef enum as_logger_level_e {
108 struct as_logger_hooks_s;
113 typedef struct as_logger_s {
116 const struct as_logger_hooks_s * hooks;
123 typedef struct as_logger_hooks_s {
as_logger * as_logger_init(as_logger *logger, void *source, const as_logger_hooks *hooks)
bool as_logger_is_enabled(const as_logger *logger, const as_logger_level level)
as_logger_level as_logger_get_level(const as_logger *logger)
int as_logger_destroy(as_logger *logger)
as_logger * as_logger_new(void *source, const as_logger_hooks *hooks)
int as_logger_log(const as_logger *logger, const as_logger_level level, const char *file, const int line, const char *format,...)