[Common] Upgrading ScopeLogger 90/153990/2
authorMichal Bistyga <m.bistyga@samsung.com>
Wed, 4 Oct 2017 11:01:35 +0000 (13:01 +0200)
committerMichal Bistyga <m.bistyga@samsung.com>
Wed, 4 Oct 2017 15:09:27 +0000 (17:09 +0200)
This is cherry-pick from tizen_3.0 branch

[Verification] Code compiles

Change-Id: Id8824d5a91df54c9cb97f02b501e0da8f49852a2
Signed-off-by: Michal Bistyga <m.bistyga@samsung.com>
src/common/logger.h

index 1054c4db546a588595ec5238214eb7bfc299ce4c..66036aceb03dd11b126457eed6f79cdb9c4597b5 100644 (file)
@@ -236,8 +236,19 @@ class ScopeLogger {
     LoggerD("%s: %s(%d) > Enter %s", file_.c_str(), method_.c_str(), l, extra_.c_str());
   }
 
+  template <typename... Args>
+  ScopeLogger(const std::string& f, const std::string& m, int l, const std::string& ex = "",
+              Args... args)
+      : file_(f), method_(m), extra_(ex) {
+#ifdef TIZEN_DEBUG_ENABLE
+    __dlog_print(LOG_ID_MAIN, DLOG_DEBUG, LOGGER_TAG,
+                 ("%s: %s(%d) > %s: %s(%d) > Enter " + extra_).c_str(), __MODULE__, __func__,
+                 __LINE__, file_.c_str(), method_.c_str(), l, args...);
+#endif
+  }
+
   ~ScopeLogger() {
-    LoggerD("%s: %s > Exit %s", file_.c_str(), method_.c_str(), extra_.c_str());
+    LoggerD("%s: %s > Exit", file_.c_str(), method_.c_str());
   }
 
  private:
@@ -248,9 +259,9 @@ class ScopeLogger {
 
 }  // common
 
-#define ScopeLogger(EX               \
-  const common::ScopeLogger __sl__ {   \
-    __MODULE__, __func__, __LINE__, EX \
+#define ScopeLogger(EX, args...)               \
+  const common::ScopeLogger __sl__ {           \
+    __MODULE__, __func__, __LINE__, EX, ##args \
   }
 
 #endif  // COMMON_LOGGER_H_