diff --git a/src/worker/src/main.c b/src/worker/src/main.c index 4beaaf42..291a1932 100644 --- a/src/worker/src/main.c +++ b/src/worker/src/main.c @@ -295,6 +295,7 @@ int main(int argc, char* argv[]) { int opt; int ret = XCECD_OK; + int verbose = 0; __attribute__((unused)) char worker_log[1024] = { 0 }; const char* peers_str = NULL; xce_cluster_config_t cluster_cfg = {0}; @@ -345,7 +346,7 @@ int main(int argc, char* argv[]) { NULL, 0, NULL, 0 } }; - while ((opt = getopt_long(argc, argv, "n:l:h", long_opts, NULL)) + while ((opt = getopt_long(argc, argv, "n:l:vh", long_opts, NULL)) != -1) { switch (opt) { case 'n': @@ -359,12 +360,15 @@ int main(int argc, char* argv[]) logdir = strdup(optarg); } break; + case 'v': + verbose++; + break; case OPT_PEERS: peers_str = optarg; break; case 'h': default: - printf("Usage: %s [-n name] [-l log_dir] " + printf("Usage: %s [-n name] [-l log_dir] [-v] " "[--peers ctrl-1=host:port,...] " "[-h help]\n", argv[0]); @@ -372,6 +376,16 @@ int main(int argc, char* argv[]) } } + /* Map -v count to log level (same pattern as controller/scheduler). + * 0=INFO (default), 1=DEBUG, 2=DEBUG2, 3+=DEBUG3. */ + if (verbose >= 3) { + config.debug_level = XCE_LOG_DEBUG3; + } else if (verbose == 2) { + config.debug_level = XCE_LOG_DEBUG2; + } else if (verbose == 1) { + config.debug_level = XCE_LOG_DEBUG; + } + /* Performed after argument parsing so -h/--help exits immediately * without requiring root privileges. */ check_user();