diff options
Diffstat (limited to 'src/server_register.c')
| -rw-r--r-- | src/server_register.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/server_register.c b/src/server_register.c index ae8e959..5bdba8e 100644 --- a/src/server_register.c +++ b/src/server_register.c @@ -42,10 +42,21 @@ main (int argc, char **argv) signal (SIGINT, stopHandler); signal (SIGTERM, stopHandler); - if (argc != 2) + if (argc < 2 || argc > 3) { UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, - "Usage: %s <config-file>", argv[0]); + "Usage: %s <config-file> [log-level]", argv[0]); + return EXIT_FAILURE; + } + + const char *logLevelStr = (argc == 3) ? argv[2] : "info"; + int logLevel = parseLogLevel (logLevelStr); + if (logLevel < 0) + { + UA_LOG_FATAL (UA_Log_Stdout, UA_LOGCATEGORY_USERLAND, + "Unknown log level: %s " + "(expected trace, debug, info, warning, error, fatal)", + logLevelStr); return EXIT_FAILURE; } @@ -182,6 +193,7 @@ main (int argc, char **argv) } UA_ServerConfig *serverConfig = UA_Server_getConfig (server); + serverConfig->logging->context = (void *)(uintptr_t)logLevel; /* Configure access control after server creation because UA_ServerConfig_setDefaultWithSecurityPolicies (called by @@ -224,6 +236,7 @@ main (int argc, char **argv) configFree (&cfg); return EXIT_FAILURE; } + clientConfig.logging->context = (void *)(uintptr_t)logLevel; if (clientUsername) UA_ClientConfig_setAuthenticationUsername (&clientConfig, clientUsername, clientPassword); @@ -254,6 +267,7 @@ main (int argc, char **argv) trustPaths, trustSize, securityMode, securityPolicyUri); if (retval == UA_STATUSCODE_GOOD) { + clientConfig.logging->context = (void *)(uintptr_t)logLevel; if (clientUsername) UA_ClientConfig_setAuthenticationUsername ( &clientConfig, clientUsername, clientPassword); @@ -278,6 +292,7 @@ main (int argc, char **argv) trustSize, securityMode, securityPolicyUri); if (retval == UA_STATUSCODE_GOOD) { + clientConfig.logging->context = (void *)(uintptr_t)logLevel; if (clientUsername) UA_ClientConfig_setAuthenticationUsername ( &clientConfig, clientUsername, clientPassword); |
