diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-06-04 23:16:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-04 23:16:28 -0400 |
commit | 6298351d8346482563c8bd6cb628c2293901daf4 (patch) | |
tree | 8d53e057d8829dde75870c8390e0e9d33ff59d21 /include/common | |
parent | e1c09d8b05e2f1b9c7230b0c2167acfbd74fbded (diff) | |
parent | b537656b4b09717da3255c1ce8121c4becfa9de5 (diff) |
Merge pull request #7 from ascent12/logging
Logging improvements
Diffstat (limited to 'include/common')
-rw-r--r-- | include/common/log.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/include/common/log.h b/include/common/log.h index 849f8ef0..3fca0dcf 100644 --- a/include/common/log.h +++ b/include/common/log.h @@ -1,18 +1,26 @@ #ifndef _WLR_INTERNAL_COMMON_LOG_H #define _WLR_INTERNAL_COMMON_LOG_H #include <stdbool.h> +#include <string.h> +#include <errno.h> #include <wlr/common/log.h> -void wlr_log_errno(log_importance_t verbosity, char* format, ...) __attribute__((format(printf,2,3))); +#ifdef __GNUC__ +#define ATTRIB_PRINTF(start, end) __attribute__((format(printf, start, end))) +#else +#define ATTRIB_PRINTF(start, end) +#endif -void wlr_log_errno(log_importance_t verbosity, char* format, ...) __attribute__((format(printf,2,3))); +void _wlr_log(log_importance_t verbosity, const char *format, ...) ATTRIB_PRINTF(2, 3); +void _wlr_vlog(log_importance_t verbosity, const char *format, va_list args) ATTRIB_PRINTF(2, 0); -void _wlr_log(const char *filename, int line, log_importance_t verbosity, const char* format, ...) __attribute__((format(printf,4,5))); +#define wlr_log(verb, fmt, ...) \ + _wlr_log(verb, "[%s:%d] " fmt, __FILE__ + strlen(WLR_SRC_DIR) + 1, __LINE__, ##__VA_ARGS__) -#define wlr_log(VERBOSITY, FMT, ...) \ - _wlr_log(__FILE__, __LINE__, VERBOSITY, FMT, ##__VA_ARGS__) +#define wlr_vlog(verb, fmt, args) \ + _wlr_vlog(verb, "[%s:%d] " fmt, __FILE__ + strlen(WLR_SRC_DIR) + 1, __LINE__, args) -#define wlr_vlog(VERBOSITY, FMT, VA_ARGS) \ - _wlr_vlog(__FILE__, __LINE__, VERBOSITY, FMT, VA_ARGS) +#define wlr_log_errno(verb, fmt, ...) \ + wlr_log(verb, fmt ": %s", ##__VA_ARGS__, strerror(errno)) #endif |