summaryrefslogtreecommitdiff
path: root/src/daemon/dlt-daemon.c
diff options
context:
space:
mode:
authorStefan Vacek <stefan.vacek@intel.com>2015-12-02 09:24:52 +0100
committerLutz Helwing <lutz_helwing@mentor.com>2015-12-09 16:02:28 +0100
commit135e75439eff9cb7171d8b5bcf2ff6a27d0bf132 (patch)
tree25c167511d1646328217b8bd9e47748c6c6f1c24 /src/daemon/dlt-daemon.c
parent4251a7db0b2a576316a2a5435b72a709fd6101b0 (diff)
downloadDLT-daemon-135e75439eff9cb7171d8b5bcf2ff6a27d0bf132.tar.gz
Set default log-levels in dlt.conf
- feature: allow to define a default-log-level in dlt.conf (see dlt.conf for documentation) - bugfix: make dlt_unlock_mutex not inline to fix linkage - bugfix: initial log-level was not set correctly when no dlt-daemon was running Signed-off-by: Stefan Vacek <stefan.vacek@intel.com>
Diffstat (limited to 'src/daemon/dlt-daemon.c')
-rw-r--r--src/daemon/dlt-daemon.c52
1 files changed, 47 insertions, 5 deletions
diff --git a/src/daemon/dlt-daemon.c b/src/daemon/dlt-daemon.c
index c8af773..804b36b 100644
--- a/src/daemon/dlt-daemon.c
+++ b/src/daemon/dlt-daemon.c
@@ -241,13 +241,16 @@ int option_file_parser(DltDaemonLocal *daemon_local)
daemon_local->flags.offlineLogstorageDelimiter = '_';
daemon_local->flags.offlineLogstorageMaxCounter = UINT_MAX;
daemon_local->flags.offlineLogstorageMaxCounterIdx = 0;
- daemon_local->flags.offlineLogstorageCacheSize = 30000; /* 30MB */
+ daemon_local->flags.offlineLogstorageCacheSize = 30000; /* 30MB */
dlt_daemon_logstorage_set_logstorage_cache_size(
- daemon_local->flags.offlineLogstorageCacheSize);
- strncpy(daemon_local->flags.ctrlSockPath,
+ daemon_local->flags.offlineLogstorageCacheSize);
+ strncpy(daemon_local->flags.ctrlSockPath,
DLT_DAEMON_DEFAULT_CTRL_SOCK_PATH,
sizeof(daemon_local->flags.ctrlSockPath) - 1);
- daemon_local->flags.gatewayMode = 0;
+ daemon_local->flags.gatewayMode = 0;
+ daemon_local->flags.contextLogLevel = DLT_LOG_INFO;
+ daemon_local->flags.contextTraceStatus = DLT_TRACE_STATUS_OFF;
+ daemon_local->flags.enforceContextLLAndTS = 0; /* default is off */
/* open configuration file */
if(daemon_local->flags.cvalue[0])
@@ -489,6 +492,45 @@ int option_file_parser(DltDaemonLocal *daemon_local)
daemon_local->flags.gatewayMode = atoi(value);
//printf("Option: %s=%s\n",token,value);
}
+ else if(strcmp(token,"ContextLogLevel")==0)
+ {
+ int const intval = atoi(value);
+ if ( (intval >= DLT_LOG_OFF) && (intval <= DLT_LOG_VERBOSE))
+ {
+ daemon_local->flags.contextLogLevel = intval;
+ printf("Option: %s=%s\n",token,value);
+ }
+ else
+ {
+ fprintf(stderr, "Invalid value for ContextLogLevel: %i. Must be in range [%i..%i]\n", intval, DLT_LOG_OFF, DLT_LOG_VERBOSE);
+ }
+ }
+ else if(strcmp(token,"ContextTraceStatus")==0)
+ {
+ int const intval = atoi(value);
+ if ( (intval >= DLT_TRACE_STATUS_OFF) && (intval <= DLT_TRACE_STATUS_ON))
+ {
+ daemon_local->flags.contextTraceStatus = intval;
+ printf("Option: %s=%s\n",token,value);
+ }
+ else
+ {
+ fprintf(stderr, "Invalid value for ContextTraceStatus: %i. Must be in range [%i..%i]\n", intval, DLT_TRACE_STATUS_OFF, DLT_TRACE_STATUS_ON);
+ }
+ }
+ else if(strcmp(token,"ForceContextLogLevelAndTraceStatus")==0)
+ {
+ int const intval = atoi(value);
+ if ( (intval >= 0) && (intval <= 1))
+ {
+ daemon_local->flags.enforceContextLLAndTS = intval;
+ printf("Option: %s=%s\n",token,value);
+ }
+ else
+ {
+ fprintf(stderr, "Invalid value for ForceContextLogLevelAndTraceStatus: %i. Must be 0, 1\n", intval);
+ }
+ }
else
{
fprintf(stderr, "Unknown option: %s=%s\n",token,value);
@@ -775,7 +817,7 @@ int dlt_daemon_local_init_p2(DltDaemon *daemon, DltDaemonLocal *daemon_local, in
}
/* Daemon data */
- if (dlt_daemon_init(daemon,daemon_local->RingbufferMinSize,daemon_local->RingbufferMaxSize,daemon_local->RingbufferStepSize,daemon_local->flags.ivalue,daemon_local->flags.vflag)==-1)
+ if (dlt_daemon_init(daemon,daemon_local->RingbufferMinSize,daemon_local->RingbufferMaxSize,daemon_local->RingbufferStepSize, daemon_local->flags.ivalue,daemon_local->flags.contextLogLevel, daemon_local->flags.contextTraceStatus,daemon_local->flags.enforceContextLLAndTS,daemon_local->flags.vflag)==-1)
{
dlt_log(LOG_ERR,"Could not initialize daemon data\n");
return -1;