aboutsummaryrefslogtreecommitdiffstats
path: root/src/server_register.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server_register.c')
-rw-r--r--src/server_register.c19
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);