From 66b283fcfe3f94b84db1741f8fa6e8b4a5e4919c Mon Sep 17 00:00:00 2001 From: Timo Lotterbach Date: Thu, 22 Nov 2012 00:38:01 -0800 Subject: [PATCH] LayerManagerUtils: added trace log level command line flag If DLT support is enabled using the build flag WITH_DLT, then this command line flag controls the log level of DLT. Signed-off-by: Timo Lotterbach --- LayerManagerService/include/Configuration.h | 3 +++ LayerManagerService/src/Configuration.cpp | 18 ++++++++++++++++-- LayerManagerService/src/main.cpp | 1 + LayerManagerUtils/src/Log.cpp | 2 +- 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/LayerManagerService/include/Configuration.h b/LayerManagerService/include/Configuration.h index 542a540..4214218 100644 --- a/LayerManagerService/include/Configuration.h +++ b/LayerManagerService/include/Configuration.h @@ -32,6 +32,7 @@ #define DEFAULT_LOG_LEVEL_CONSOLE 2 #define DEFAULT_LOG_LEVEL_FILE 0 +#define DEFAULT_LOG_LEVEL_TRACE 4 #define DEFAULT_PLUGIN_PATH CMAKE_INSTALL_PREFIX"/lib/layermanager" @@ -49,6 +50,7 @@ public: int getLogLevelConsole(); int getLogLevelFile(); + int getLogLevelTrace(); std::string getPluginPath(); @@ -66,6 +68,7 @@ private: int mDisplayHeight; int mLogLevelConsole; int mLogLevelFile; + int mLogLevelTrace; // environment std::string mDisplayName; diff --git a/LayerManagerService/src/Configuration.cpp b/LayerManagerService/src/Configuration.cpp index 932abba..6bb09fa 100644 --- a/LayerManagerService/src/Configuration.cpp +++ b/LayerManagerService/src/Configuration.cpp @@ -30,6 +30,7 @@ const char* USAGE_DESCRIPTION = "\t-d: displayName \t\n" "\t-f: loglevel file \t 0 [default] \n\t\t\t\t[0=disabled, 1=error, 2=info, 3=warning, 4=debug]\n" "\t-c: loglevel console \t 2 [default] \n\t\t\t\t[0=disabled, 1=error, 2=info, 3=warning, 4=debug]\n" + "\t-l: loglevel trace \t 4 [default] \n\t\t\t\t[0=disabled, 1=error, 2=info, 3=warning, 4=debug]\n" "\t-v: show version info\t\n" "\nexample: LayerManagerService -w800 -h480 -d:0\n"; @@ -39,6 +40,7 @@ Configuration::Configuration(int argc, char** argv) , mDisplayHeight(DEFAULT_DISPLAY_HEIGHT) , mLogLevelConsole(DEFAULT_LOG_LEVEL_CONSOLE) , mLogLevelFile(DEFAULT_LOG_LEVEL_FILE) +, mLogLevelTrace(DEFAULT_LOG_LEVEL_TRACE) , mDisplayName(DEFAULT_DISPLAY_NAME) , mPluginPath(DEFAULT_PLUGIN_PATH) , mpBuildFlags(gBuildFlags) @@ -74,6 +76,11 @@ int Configuration::getLogLevelFile() return mLogLevelFile; } +int Configuration::getLogLevelTrace() +{ + return mLogLevelTrace; +} + std::string Configuration::getPluginPath() { return mPluginPath; @@ -84,7 +91,7 @@ void Configuration::logAllSettings() LOG_DEBUG("LayerManagerService", "Command Line: " << mCommandLine); LOG_INFO("LayerManagerService", "Display " << mDisplayName << " size: " << mDisplayWidth << "x" << mDisplayHeight); LOG_INFO("LayerManagerService", "Plugin path: " << mPluginPath); - LOG_DEBUG("LayerManagerService", "Log level: console " << mLogLevelConsole << ", file " << mLogLevelFile); + LOG_DEBUG("LayerManagerService", "Log level: console " << mLogLevelConsole << ", file " << mLogLevelFile << ", trace " << mLogLevelTrace); for (int i = 0; i < mBuildFlagCount; ++i) { @@ -105,7 +112,7 @@ void Configuration::processCommandLine(int argc, char** argv) { while (optind < argc) { - int option = getopt(argc, argv, "w::h::d::?::c::f::v::"); + int option = getopt(argc, argv, "w::h::d::?::c::f::v::l::"); switch (option) { case 'd': @@ -134,6 +141,13 @@ void Configuration::processCommandLine(int argc, char** argv) } break; + case 'l': + if (atoi(optarg) < LOG_MAX_LEVEL) + { + mLogLevelTrace = (LOG_MODES)atoi(optarg); + } + break; + case 'v': LOG_INFO("LayerManagerService", "Version: " << ILM_VERSION); exit(-1); diff --git a/LayerManagerService/src/main.cpp b/LayerManagerService/src/main.cpp index d18e8d8..3448a5a 100644 --- a/LayerManagerService/src/main.cpp +++ b/LayerManagerService/src/main.cpp @@ -36,6 +36,7 @@ int main(int argc, char **argv) // setup logging Log::consoleLogLevel = (LOG_MODES)configuration.getLogLevelConsole(); Log::fileLogLevel = (LOG_MODES)configuration.getLogLevelFile(); + Log::dltLogLevel = (LOG_MODES)configuration.getLogLevelTrace(); LOG_INFO("LayerManagerService", "Starting Layermanager (version: " << ILM_VERSION << ")"); diff --git a/LayerManagerUtils/src/Log.cpp b/LayerManagerUtils/src/Log.cpp index ccaa378..e2997f3 100644 --- a/LayerManagerUtils/src/Log.cpp +++ b/LayerManagerUtils/src/Log.cpp @@ -63,7 +63,7 @@ Log::Log() m_logContext = new DltContext; DLT_REGISTER_APP("LMSA","LayerManagerService"); DLT_REGISTER_CONTEXT(*((DltContext*)m_logContext),"LMSC","LayerManagerService"); - DLT_SET_APPLICATION_LL_TS_LIMIT(DLT_LOG_DEFAULT, DLT_TRACE_STATUS_DEFAULT); + DLT_SET_APPLICATION_LL_TS_LIMIT(DLT_LOG_VERBOSE, DLT_TRACE_STATUS_DEFAULT); #else m_logContext = NULL; #endif -- 2.7.4