From 895cfffc6b3a5ef3d9179b44bb6dd39d30159b58 Mon Sep 17 00:00:00 2001 From: Kim Woelders Date: Fri, 10 Feb 2023 09:26:34 +0100 Subject: [PATCH] logging: Add quiet option Mostly for debug? Sometimes logging changes timing. --- src/nvt_log.c | 9 ++++++++- src/nvt_log.h | 2 +- src/ttynvt.c | 9 ++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/nvt_log.c b/src/nvt_log.c index dee4247..294f637 100644 --- a/src/nvt_log.c +++ b/src/nvt_log.c @@ -15,6 +15,8 @@ char log_level = 0; +static char log_threshold = LOG_DEBUG; + static FILE *log_dest = NULL; void nvt_log_dest(int dest) @@ -34,8 +36,10 @@ void nvt_log_dest(int dest) } } -void nvt_log_level(int level) +void nvt_log_level(int quiet, int level) { + if (quiet) + log_threshold = LOG_NOTICE; log_level = level; } @@ -63,6 +67,9 @@ void nvt_log(int prio, const char *fmt, ...) const char *eol; int len; + if (prio > log_threshold) + return; + va_start(arg, fmt); len = vsnprintf(buf, sizeof(buf), fmt, arg); diff --git a/src/nvt_log.h b/src/nvt_log.h index 31649b7..319a9c0 100644 --- a/src/nvt_log.h +++ b/src/nvt_log.h @@ -10,7 +10,7 @@ #define _PRF2_ _PRF_N_(2) void nvt_log_dest(int dest); -void nvt_log_level(int level); +void nvt_log_level(int quiet, int level); _PRF2_ void nvt_log(int prio, const char *fmt, ...); void nvt_log_buf(int prio, const char *txt, const void *ptr, unsigned int len); diff --git a/src/ttynvt.c b/src/ttynvt.c index 1708b15..6767d92 100644 --- a/src/ttynvt.c +++ b/src/ttynvt.c @@ -42,7 +42,8 @@ static struct ttynvt_param { unsigned int major; unsigned int minor; const char *dev_name; - char *server; + const char *server; + unsigned int quiet; unsigned int debug; int logstd; /* Derived */ @@ -525,7 +526,7 @@ static void ttynvt_open(fuse_req_t req, struct fuse_file_info *info) return; open_err: - nvt_log(LOG_INFO, "Connection to server: %s:%d failed: %m\n", + nvt_log(LOG_ERR, "Connection to server: %s:%d failed: %m\n", ttynvt_param.host, ttynvt_param.port); for (n = 0; n < 3; n++) @@ -1139,6 +1140,7 @@ static const struct fuse_opt ttynvt_opts[] = { TTYNET_OPT("--min=%u", minor, 1), TTYNET_OPT("-n %s", dev_name, 0), TTYNET_OPT("--name=%s", dev_name, 0), + TTYNET_OPT("-q", quiet, 1), TTYNET_OPT("-S %s", server, 0), TTYNET_OPT("--server=%s", server, 0), FUSE_OPT_KEY("-h", 0), @@ -1157,6 +1159,7 @@ static void print_help(void) "\t-m minor, --min=minor\n" "\t-n name, --name=name (default: ttyNVT0)\n" "\t\tDevice will be created in /dev/$name.\n" + "\t-q\t\tBe quiet (suppress informational messages)\n" "\t-S server, --server=host:port\n"); } @@ -1192,7 +1195,7 @@ int main(int argc, char *argv[]) return 1; } - nvt_log_level(ttynvt_param.debug); + nvt_log_level(ttynvt_param.quiet, ttynvt_param.debug); if (ttynvt_param.logstd) nvt_log_dest(NVT_LOG_STDOUT);