mirror of
https://github.com/isar/libmdbx.git
synced 2025-12-16 17:12:23 +08:00
mdbx: возможность логирования ошибок возвращаемых из API (return LOG_IFERR).
Возможность полезная, но пожалуй еще нуждается в доработке и/или до-осмыслении. Основное неудобство в нестыковке с основным логированием. С одной стороны, сообщение об ошибках следует выводить с уровнем/severity MDBX_LOG_ERROR. Однако, это замусоривает и ломает тесты. Поэтому сейчас при возвращении ошибок из API сообщения логируются MDBX_LOG_ERROR, но производится это только при включении уровня логирования MDBX_LOG_DEBUG или более детальном.
This commit is contained in:
@@ -158,3 +158,11 @@ MDBX_INTERNAL const char *pagetype_caption(const uint8_t type,
|
||||
#define DKEY_DEBUG(x) ("-")
|
||||
#define DVAL_DEBUG(x) ("-")
|
||||
#endif
|
||||
|
||||
MDBX_INTERNAL int log_error(const int err, const char *func, unsigned line);
|
||||
|
||||
static inline int log_if_error(int err, const char *func, unsigned line) {
|
||||
return likely(err == MDBX_SUCCESS) ? err : log_error(err, func, line);
|
||||
}
|
||||
|
||||
#define LOG_IFERR(err) log_if_error((err), __func__, __LINE__)
|
||||
|
||||
Reference in New Issue
Block a user