controlpanel/controlpanel_plat/inc/logger.h
changeset 52 58cebe0861a8
parent 32 20bd089f4aaa
--- a/controlpanel/controlpanel_plat/inc/logger.h	Fri Jun 25 17:09:30 2010 +0800
+++ b/controlpanel/controlpanel_plat/inc/logger.h	Tue Aug 24 10:30:25 2010 +0800
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  
+* Description:  This class provide log functionality.
 *
 */
 
@@ -33,6 +33,7 @@
     [myapplog]
     logDateTime = 1
     logLoggerName = 1
+    datetimeformat = hh:mm:ss
     output = debugoutput consoleoutput fileoutput
     fileoutput/logfile = C:/data/log/myapp.log
     fileoutput/truncate = 1
@@ -87,4 +88,39 @@
     LoggerPrivate *d_ptr;
 };
 
+class InitLoggerHelper
+{
+public:
+    InitLoggerHelper(const QString &loggerName,const QString &configPath)
+    : mLoggerName(loggerName)
+    {
+        Logger::instance(loggerName)->configure(configPath,QSettings::IniFormat);
+    }
+    ~InitLoggerHelper() {
+        Logger::close(mLoggerName);
+    }
+private:
+    QString mLoggerName;
+};
+
+class LogFunctionEntryHelper
+{
+public:
+    LogFunctionEntryHelper(const QString &loggerName,const QString &func)
+    : mLoggerName(loggerName), mFunc(func)
+    {
+        Logger::instance(mLoggerName)->log(QLatin1String(">>>> ") + mFunc);
+    }
+    ~LogFunctionEntryHelper()
+    {
+        Logger::instance(mLoggerName)->log(QLatin1String("<<<< ") + mFunc);
+    }
+private:
+    QString mLoggerName;
+    QString mFunc;
+};
+
+#define INIT_LOGGER(loggerName,configPath) \
+    InitLoggerHelper __init##loggerName(loggerName,configPath);
+
 #endif //LOGGER_H