-#define __lttng_print(type, fmt, args...) \
- do { \
- if (opt_quiet == 0) { \
- if (type == PRINT_MSG) { \
- fprintf(stdout, fmt, ## args); \
- } else if (((type & PRINT_DBG) && opt_verbose == 1) || \
- ((type & (PRINT_DBG | PRINT_DBG2)) && \
- opt_verbose == 2) || \
- ((type & (PRINT_DBG | PRINT_DBG2 | PRINT_DBG3)) && \
- opt_verbose == 3)) { \
- fprintf(stderr, fmt, ## args); \
- } else if (type & (PRINT_ERR | PRINT_WARN | PRINT_BUG)) { \
- fprintf(stderr, fmt, ## args); \
- } \
- } \
- } while (0);
+#define __lttng_print(type, fmt, args...) \
+ do { \
+ if (__lttng_print_check_opt(type)) { \
+ fprintf((type) == PRINT_MSG ? stdout : stderr, fmt, ## args); \
+ } \
+ __lttng_print_check_abort(type); \
+ } while (0)
+
+/* Three level of debug. Use -v, -vv or -vvv for the levels */
+#define _ERRMSG(msg, type, fmt, args...) __lttng_print(type, msg \
+ " - %s [%ld/%ld]: " fmt " (in %s() at " __FILE__ ":" XSTR(__LINE__) ")\n", \
+ log_add_time(), (long) getpid(), (long) lttng_gettid(), ## args, __func__)
+
+#define _ERRMSG_NO_LOC(msg, type, fmt, args...) __lttng_print(type, msg \
+ " - %s [%ld/%ld]: " fmt "\n", \
+ log_add_time(), (long) getpid(), (long) lttng_gettid(), ## args)