/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright (c) 2016 wonder-mice
+ *
* This is zf_log.h, modified with Babeltrace prefixes.
* See <https://github.com/wonder-mice/zf_log/>.
- * See logging/LICENSE in the Babeltrace source tree.
*/
#pragma once
#include <string.h>
#include <babeltrace2/babeltrace.h>
+/* Access private __BT_LOGGING_LEVEL_* macros. */
+#define __BT_IN_BABELTRACE_H
+#include <babeltrace2/logging-defs.h>
+#undef __BT_IN_BABELTRACE_H
+
#include "common/macros.h"
#include "common/assert.h"
* should be empty or very small. Choosing a right log level is as important as
* providing short and self descriptive log message.
*/
-#define BT_LOG_TRACE BT_LOGGING_LEVEL_TRACE
-#define BT_LOG_DEBUG BT_LOGGING_LEVEL_DEBUG
-#define BT_LOG_INFO BT_LOGGING_LEVEL_INFO
-#define BT_LOG_WARNING BT_LOGGING_LEVEL_WARNING
-#define BT_LOG_ERROR BT_LOGGING_LEVEL_ERROR
-#define BT_LOG_FATAL BT_LOGGING_LEVEL_FATAL
-#define BT_LOG_NONE BT_LOGGING_LEVEL_NONE
+#define BT_LOG_TRACE __BT_LOGGING_LEVEL_TRACE
+#define BT_LOG_DEBUG __BT_LOGGING_LEVEL_DEBUG
+#define BT_LOG_INFO __BT_LOGGING_LEVEL_INFO
+#define BT_LOG_WARNING __BT_LOGGING_LEVEL_WARNING
+#define BT_LOG_ERROR __BT_LOGGING_LEVEL_ERROR
+#define BT_LOG_FATAL __BT_LOGGING_LEVEL_FATAL
+#define BT_LOG_NONE __BT_LOGGING_LEVEL_NONE
/* "Current" log level is a compile time check and has no runtime overhead. Log
* level that is below current log level it said to be "disabled".
BT_LOG_WRITE_MEM(log, BT_LOG_TRACE, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGT(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGT_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGT_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGT_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGT_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
BT_LOG_WRITE_MEM_AUX(log, BT_LOG_DEBUG, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGD(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGD_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGD_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGD_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGD_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
BT_LOG_WRITE_MEM_AUX(log, BT_LOG_INFO, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGI(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGI_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGI_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGI_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGI_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
BT_LOG_WRITE_MEM_AUX(log, BT_LOG_WARNING, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGW(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGW_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGW_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGW_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGW_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
BT_LOG_WRITE_MEM_AUX(log, BT_LOG_ERROR, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGE(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGE_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGE_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGE_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGE_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
BT_LOG_WRITE_MEM_AUX(log, BT_LOG_FATAL, _BT_LOG_TAG, d, d_sz, __VA_ARGS__)
#else
#define BT_LOGF(...) _BT_LOG_UNUSED(__VA_ARGS__)
+ #define BT_LOGF_ERRNO(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGF_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGF_MEM(...) _BT_LOG_UNUSED(__VA_ARGS__)
#define BT_LOGF_MEM_AUX(...) _BT_LOG_UNUSED(__VA_ARGS__)