mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-19 23:58:22 +08:00
mdbx-tools: добавление логирования ошибок/предупреждений по все утилиты.
This commit is contained in:
parent
e5fe279632
commit
c751977bf7
@ -53,6 +53,21 @@ static void usage(const char *prog) {
|
|||||||
exit(EXIT_FAILURE);
|
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 main(int argc, char *argv[]) {
|
||||||
int rc;
|
int rc;
|
||||||
MDBX_env *env = nullptr;
|
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],
|
mdbx_version.git.describe, mdbx_version.git.datetime, mdbx_version.git.tree, argv[1],
|
||||||
(argc == 2) ? "stdout" : argv[2]);
|
(argc == 2) ? "stdout" : argv[2]);
|
||||||
fflush(nullptr);
|
fflush(nullptr);
|
||||||
|
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
act = "opening environment";
|
act = "opening environment";
|
||||||
|
@ -57,6 +57,21 @@ static void error(const char *func, int rc) {
|
|||||||
fprintf(stderr, "%s: %s() error %d %s\n", prog, func, rc, mdbx_strerror(rc));
|
fprintf(stderr, "%s: %s() error %d %s\n", prog, func, rc, mdbx_strerror(rc));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 main(int argc, char *argv[]) {
|
||||||
int i, rc;
|
int i, rc;
|
||||||
MDBX_env *env;
|
MDBX_env *env;
|
||||||
@ -126,6 +141,7 @@ int main(int argc, char *argv[]) {
|
|||||||
printf("mdbx_drop %s (%s, T-%s)\nRunning for %s/%s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
printf("mdbx_drop %s (%s, T-%s)\nRunning for %s/%s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
||||||
mdbx_version.git.tree, envname, subname ? subname : "@MAIN");
|
mdbx_version.git.tree, envname, subname ? subname : "@MAIN");
|
||||||
fflush(nullptr);
|
fflush(nullptr);
|
||||||
|
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = mdbx_env_create(&env);
|
rc = mdbx_env_create(&env);
|
||||||
|
@ -223,6 +223,21 @@ static void usage(void) {
|
|||||||
exit(EXIT_FAILURE);
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static int equal_or_greater(const MDBX_val *a, const MDBX_val *b) {
|
static int equal_or_greater(const MDBX_val *a, const MDBX_val *b) {
|
||||||
return (a->iov_len == b->iov_len && memcmp(a->iov_base, b->iov_base, a->iov_len) == 0) ? 0 : 1;
|
return (a->iov_len == b->iov_len && memcmp(a->iov_base, b->iov_base, a->iov_len) == 0) ? 0 : 1;
|
||||||
}
|
}
|
||||||
@ -330,6 +345,7 @@ int main(int argc, char *argv[]) {
|
|||||||
fprintf(stderr, "mdbx_dump %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe,
|
fprintf(stderr, "mdbx_dump %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe,
|
||||||
mdbx_version.git.datetime, mdbx_version.git.tree, envname);
|
mdbx_version.git.datetime, mdbx_version.git.tree, envname);
|
||||||
fflush(nullptr);
|
fflush(nullptr);
|
||||||
|
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
err = mdbx_env_create(&env);
|
err = mdbx_env_create(&env);
|
||||||
|
@ -51,6 +51,21 @@ static void error(const char *func, int rc) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static char *valstr(char *line, const char *item) {
|
static char *valstr(char *line, const char *item) {
|
||||||
const size_t len = strlen(item);
|
const size_t len = strlen(item);
|
||||||
if (strncmp(line, item, len) != 0)
|
if (strncmp(line, item, len) != 0)
|
||||||
@ -544,10 +559,12 @@ int main(int argc, char *argv[]) {
|
|||||||
#endif /* !WINDOWS */
|
#endif /* !WINDOWS */
|
||||||
|
|
||||||
envname = argv[optind];
|
envname = argv[optind];
|
||||||
if (!quiet)
|
if (!quiet) {
|
||||||
printf("mdbx_load %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
printf("mdbx_load %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
||||||
mdbx_version.git.tree, envname);
|
mdbx_version.git.tree, envname);
|
||||||
fflush(nullptr);
|
fflush(nullptr);
|
||||||
|
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
|
||||||
|
}
|
||||||
|
|
||||||
dbuf.iov_len = 4096;
|
dbuf.iov_len = 4096;
|
||||||
dbuf.iov_base = osal_malloc(dbuf.iov_len);
|
dbuf.iov_base = osal_malloc(dbuf.iov_len);
|
||||||
|
@ -92,6 +92,21 @@ static void error(const char *func, int rc) {
|
|||||||
fprintf(stderr, "%s: %s() error %d %s\n", prog, func, rc, mdbx_strerror(rc));
|
fprintf(stderr, "%s: %s() error %d %s\n", prog, func, rc, mdbx_strerror(rc));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 main(int argc, char *argv[]) {
|
||||||
int opt, rc;
|
int opt, rc;
|
||||||
MDBX_env *env;
|
MDBX_env *env;
|
||||||
@ -183,6 +198,7 @@ int main(int argc, char *argv[]) {
|
|||||||
printf("mdbx_stat %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
printf("mdbx_stat %s (%s, T-%s)\nRunning for %s...\n", mdbx_version.git.describe, mdbx_version.git.datetime,
|
||||||
mdbx_version.git.tree, envname);
|
mdbx_version.git.tree, envname);
|
||||||
fflush(nullptr);
|
fflush(nullptr);
|
||||||
|
mdbx_setup_debug(MDBX_LOG_NOTICE, MDBX_DBG_DONTCHANGE, logger);
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = mdbx_env_create(&env);
|
rc = mdbx_env_create(&env);
|
||||||
@ -287,7 +303,7 @@ int main(int argc, char *argv[]) {
|
|||||||
goto txn_abort;
|
goto txn_abort;
|
||||||
}
|
}
|
||||||
if (rc == MDBX_RESULT_TRUE)
|
if (rc == MDBX_RESULT_TRUE)
|
||||||
printf("Reader Table is empty\n");
|
printf("Reader Table is absent\n");
|
||||||
else if (rc == MDBX_SUCCESS && rdrinfo > 1) {
|
else if (rc == MDBX_SUCCESS && rdrinfo > 1) {
|
||||||
int dead;
|
int dead;
|
||||||
rc = mdbx_reader_check(env, &dead);
|
rc = mdbx_reader_check(env, &dead);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user