mdbx-tools: добавление логирования ошибок/предупреждений по все утилиты.

This commit is contained in:
Леонид Юрьев (Leonid Yuriev)
2025-01-12 14:38:20 +03:00
parent e5fe279632
commit c751977bf7
5 changed files with 84 additions and 3 deletions

View File

@@ -53,6 +53,21 @@ static void usage(const char *prog) {
exit(EXIT_FAILURE);
}
static void logger(MDBX_log_level_t level, const char *function, int line, const char *fmt, va_list args) {
static const char *const prefixes[] = {
"!!!fatal: ", // 0 fatal
" ! ", // 1 error
" ~ ", // 2 warning
" ", // 3 notice
" //", // 4 verbose
};
if (level < MDBX_LOG_DEBUG) {
if (function && line)
fprintf(stderr, "%s", prefixes[level]);
vfprintf(stderr, fmt, args);
}
}
int main(int argc, char *argv[]) {
int rc;
MDBX_env *env = nullptr;
@@ -117,6 +132,7 @@ int main(int argc, char *argv[]) {
mdbx_version.git.describe, mdbx_version.git.datetime, mdbx_version.git.tree, argv[1],
(argc == 2) ? "stdout" : argv[2]);
fflush(nullptr);
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
}
act = "opening environment";