mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-30 22:47:16 +08:00
mdbx: clarify loglevel descriptions.
This commit is contained in:
parent
a0728023cd
commit
77f236db2a
50
mdbx.h
50
mdbx.h
@ -784,36 +784,51 @@ enum MDBX_constants {
|
|||||||
* \note Most of debug feature enabled only when libmdbx builded with
|
* \note Most of debug feature enabled only when libmdbx builded with
|
||||||
* \ref MDBX_DEBUG build option. @{ */
|
* \ref MDBX_DEBUG build option. @{ */
|
||||||
|
|
||||||
/** Log level (requires build libmdbx with \ref MDBX_DEBUG option) */
|
/** Log level
|
||||||
|
* \note Levels detailed than (great than) \ref MDBX_LOG_NOTICE
|
||||||
|
* requires build libmdbx with \ref MDBX_DEBUG option. */
|
||||||
enum MDBX_log_level_t {
|
enum MDBX_log_level_t {
|
||||||
/** Critical conditions, i.e. assertion failures */
|
/** Critical conditions, i.e. assertion failures.
|
||||||
|
* \note libmdbx always produces such messages regardless
|
||||||
|
* of \ref MDBX_DEBUG build option. */
|
||||||
MDBX_LOG_FATAL = 0,
|
MDBX_LOG_FATAL = 0,
|
||||||
|
|
||||||
/** Enables logging for error conditions and \ref MDBX_LOG_FATAL */
|
/** Enables logging for error conditions
|
||||||
|
* and \ref MDBX_LOG_FATAL.
|
||||||
|
* \note libmdbx always produces such messages regardless
|
||||||
|
* of \ref MDBX_DEBUG build option. */
|
||||||
MDBX_LOG_ERROR = 1,
|
MDBX_LOG_ERROR = 1,
|
||||||
|
|
||||||
/** Enables logging for warning conditions and \ref MDBX_LOG_ERROR ...
|
/** Enables logging for warning conditions
|
||||||
\ref MDBX_LOG_FATAL */
|
* and \ref MDBX_LOG_ERROR ... \ref MDBX_LOG_FATAL.
|
||||||
|
* \note libmdbx always produces such messages regardless
|
||||||
|
* of \ref MDBX_DEBUG build option. */
|
||||||
MDBX_LOG_WARN = 2,
|
MDBX_LOG_WARN = 2,
|
||||||
|
|
||||||
/** Enables logging for normal but significant condition and
|
/** Enables logging for normal but significant condition
|
||||||
\ref MDBX_LOG_WARN ... \ref MDBX_LOG_FATAL */
|
* and \ref MDBX_LOG_WARN ... \ref MDBX_LOG_FATAL.
|
||||||
|
* \note libmdbx always produces such messages regardless
|
||||||
|
* of \ref MDBX_DEBUG build option. */
|
||||||
MDBX_LOG_NOTICE = 3,
|
MDBX_LOG_NOTICE = 3,
|
||||||
|
|
||||||
/** Enables logging for verbose informational and \ref MDBX_LOG_NOTICE ...
|
/** Enables logging for verbose informational
|
||||||
\ref MDBX_LOG_FATAL */
|
* and \ref MDBX_LOG_NOTICE ... \ref MDBX_LOG_FATAL.
|
||||||
|
* \note Requires build libmdbx with \ref MDBX_DEBUG option. */
|
||||||
MDBX_LOG_VERBOSE = 4,
|
MDBX_LOG_VERBOSE = 4,
|
||||||
|
|
||||||
/** Enables logging for debug-level messages and \ref MDBX_LOG_VERBOSE ...
|
/** Enables logging for debug-level messages
|
||||||
\ref MDBX_LOG_FATAL */
|
* and \ref MDBX_LOG_VERBOSE ... \ref MDBX_LOG_FATAL.
|
||||||
|
* \note Requires build libmdbx with \ref MDBX_DEBUG option. */
|
||||||
MDBX_LOG_DEBUG = 5,
|
MDBX_LOG_DEBUG = 5,
|
||||||
|
|
||||||
/** Enables logging for trace debug-level messages and \ref MDBX_LOG_DEBUG ...
|
/** Enables logging for trace debug-level messages
|
||||||
\ref MDBX_LOG_FATAL */
|
* and \ref MDBX_LOG_DEBUG ... \ref MDBX_LOG_FATAL.
|
||||||
|
* \note Requires build libmdbx with \ref MDBX_DEBUG option. */
|
||||||
MDBX_LOG_TRACE = 6,
|
MDBX_LOG_TRACE = 6,
|
||||||
|
|
||||||
/** Enables extra debug-level messages (dump pgno lists)
|
/** Enables extra debug-level messages (dump pgno lists)
|
||||||
and all other log-messages */
|
* and all other log-messages.
|
||||||
|
* \note Requires build libmdbx with \ref MDBX_DEBUG option. */
|
||||||
MDBX_LOG_EXTRA = 7,
|
MDBX_LOG_EXTRA = 7,
|
||||||
|
|
||||||
#ifdef ENABLE_UBSAN
|
#ifdef ENABLE_UBSAN
|
||||||
@ -836,15 +851,16 @@ enum MDBX_debug_flags_t {
|
|||||||
MDBX_DBG_NONE = 0,
|
MDBX_DBG_NONE = 0,
|
||||||
|
|
||||||
/** Enable assertion checks.
|
/** Enable assertion checks.
|
||||||
* Requires build with \ref MDBX_DEBUG > 0 */
|
* \note Always enabled for builds with `MDBX_FORCE_ASSERTIONS` option,
|
||||||
|
* otherwise requires build with \ref MDBX_DEBUG > 0 */
|
||||||
MDBX_DBG_ASSERT = 1,
|
MDBX_DBG_ASSERT = 1,
|
||||||
|
|
||||||
/** Enable pages usage audit at commit transactions.
|
/** Enable pages usage audit at commit transactions.
|
||||||
* Requires build with \ref MDBX_DEBUG > 0 */
|
* \note Requires build with \ref MDBX_DEBUG > 0 */
|
||||||
MDBX_DBG_AUDIT = 2,
|
MDBX_DBG_AUDIT = 2,
|
||||||
|
|
||||||
/** Enable small random delays in critical points.
|
/** Enable small random delays in critical points.
|
||||||
* Requires build with \ref MDBX_DEBUG > 0 */
|
* \note Requires build with \ref MDBX_DEBUG > 0 */
|
||||||
MDBX_DBG_JITTER = 4,
|
MDBX_DBG_JITTER = 4,
|
||||||
|
|
||||||
/** Include or not meta-pages in coredump files.
|
/** Include or not meta-pages in coredump files.
|
||||||
|
@ -1222,25 +1222,21 @@ MDBX_INTERNAL_FUNC void mdbx_debug_log_va(int level, const char *function,
|
|||||||
int line, const char *fmt,
|
int line, const char *fmt,
|
||||||
va_list args);
|
va_list args);
|
||||||
|
|
||||||
#define mdbx_log_enabled(msg) unlikely(msg <= mdbx_loglevel)
|
|
||||||
|
|
||||||
#if MDBX_DEBUG
|
#if MDBX_DEBUG
|
||||||
|
#define mdbx_log_enabled(msg) unlikely(msg <= mdbx_loglevel)
|
||||||
#define mdbx_assert_enabled() unlikely(mdbx_runtime_flags &MDBX_DBG_ASSERT)
|
#define mdbx_audit_enabled() unlikely((mdbx_runtime_flags & MDBX_DBG_AUDIT))
|
||||||
|
|
||||||
#define mdbx_audit_enabled() unlikely(mdbx_runtime_flags &MDBX_DBG_AUDIT)
|
|
||||||
|
|
||||||
#else /* MDBX_DEBUG */
|
#else /* MDBX_DEBUG */
|
||||||
|
#define mdbx_log_enabled(msg) (msg < MDBX_LOG_VERBOSE && msg <= mdbx_loglevel)
|
||||||
#define mdbx_audit_enabled() (0)
|
#define mdbx_audit_enabled() (0)
|
||||||
|
#endif /* MDBX_DEBUG */
|
||||||
|
|
||||||
#if !defined(NDEBUG) || MDBX_FORCE_ASSERTIONS
|
#if MDBX_FORCE_ASSERTIONS
|
||||||
#define mdbx_assert_enabled() (1)
|
#define mdbx_assert_enabled() (1)
|
||||||
|
#elif MDBX_DEBUG
|
||||||
|
#define mdbx_assert_enabled() likely((mdbx_runtime_flags & MDBX_DBG_ASSERT))
|
||||||
#else
|
#else
|
||||||
#define mdbx_assert_enabled() (0)
|
#define mdbx_assert_enabled() (0)
|
||||||
#endif /* NDEBUG */
|
#endif /* assertions */
|
||||||
|
|
||||||
#endif /* MDBX_DEBUG */
|
|
||||||
|
|
||||||
#if !MDBX_DEBUG && defined(__ANDROID_API__)
|
#if !MDBX_DEBUG && defined(__ANDROID_API__)
|
||||||
#define mdbx_assert_fail(env, msg, func, line) \
|
#define mdbx_assert_fail(env, msg, func, line) \
|
||||||
@ -1252,33 +1248,33 @@ void mdbx_assert_fail(const MDBX_env *env, const char *msg, const char *func,
|
|||||||
|
|
||||||
#define mdbx_debug_extra(fmt, ...) \
|
#define mdbx_debug_extra(fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (MDBX_DEBUG && mdbx_log_enabled(MDBX_LOG_EXTRA)) \
|
if (mdbx_log_enabled(MDBX_LOG_EXTRA)) \
|
||||||
mdbx_debug_log(MDBX_LOG_EXTRA, __func__, __LINE__, fmt, __VA_ARGS__); \
|
mdbx_debug_log(MDBX_LOG_EXTRA, __func__, __LINE__, fmt, __VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define mdbx_debug_extra_print(fmt, ...) \
|
#define mdbx_debug_extra_print(fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (MDBX_DEBUG && mdbx_log_enabled(MDBX_LOG_EXTRA)) \
|
if (mdbx_log_enabled(MDBX_LOG_EXTRA)) \
|
||||||
mdbx_debug_log(MDBX_LOG_EXTRA, NULL, 0, fmt, __VA_ARGS__); \
|
mdbx_debug_log(MDBX_LOG_EXTRA, NULL, 0, fmt, __VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define mdbx_trace(fmt, ...) \
|
#define mdbx_trace(fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (MDBX_DEBUG && mdbx_log_enabled(MDBX_LOG_TRACE)) \
|
if (mdbx_log_enabled(MDBX_LOG_TRACE)) \
|
||||||
mdbx_debug_log(MDBX_LOG_TRACE, __func__, __LINE__, fmt "\n", \
|
mdbx_debug_log(MDBX_LOG_TRACE, __func__, __LINE__, fmt "\n", \
|
||||||
__VA_ARGS__); \
|
__VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define mdbx_debug(fmt, ...) \
|
#define mdbx_debug(fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (MDBX_DEBUG && mdbx_log_enabled(MDBX_LOG_DEBUG)) \
|
if (mdbx_log_enabled(MDBX_LOG_DEBUG)) \
|
||||||
mdbx_debug_log(MDBX_LOG_DEBUG, __func__, __LINE__, fmt "\n", \
|
mdbx_debug_log(MDBX_LOG_DEBUG, __func__, __LINE__, fmt "\n", \
|
||||||
__VA_ARGS__); \
|
__VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
#define mdbx_verbose(fmt, ...) \
|
#define mdbx_verbose(fmt, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (MDBX_DEBUG && mdbx_log_enabled(MDBX_LOG_VERBOSE)) \
|
if (mdbx_log_enabled(MDBX_LOG_VERBOSE)) \
|
||||||
mdbx_debug_log(MDBX_LOG_VERBOSE, __func__, __LINE__, fmt "\n", \
|
mdbx_debug_log(MDBX_LOG_VERBOSE, __func__, __LINE__, fmt "\n", \
|
||||||
__VA_ARGS__); \
|
__VA_ARGS__); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user