controlpanel/controlpanel_plat/inc/logger.h
changeset 52 58cebe0861a8
parent 32 20bd089f4aaa
equal deleted inserted replaced
40:6465d5bb863a 52:58cebe0861a8
     9 * Initial Contributors:
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    10 * Nokia Corporation - initial contribution.
    11 *
    11 *
    12 * Contributors:
    12 * Contributors:
    13 *
    13 *
    14 * Description:  
    14 * Description:  This class provide log functionality.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #ifndef LOGGER_H
    18 #ifndef LOGGER_H
    19 #define LOGGER_H
    19 #define LOGGER_H
    31 configuration format:
    31 configuration format:
    32 
    32 
    33     [myapplog]
    33     [myapplog]
    34     logDateTime = 1
    34     logDateTime = 1
    35     logLoggerName = 1
    35     logLoggerName = 1
       
    36     datetimeformat = hh:mm:ss
    36     output = debugoutput consoleoutput fileoutput
    37     output = debugoutput consoleoutput fileoutput
    37     fileoutput/logfile = C:/data/log/myapp.log
    38     fileoutput/logfile = C:/data/log/myapp.log
    38     fileoutput/truncate = 1
    39     fileoutput/truncate = 1
    39 
    40 
    40 code examples:
    41 code examples:
    85 private:
    86 private:
    86     explicit Logger(const QString &name = QString(),QObject *parent = 0);
    87     explicit Logger(const QString &name = QString(),QObject *parent = 0);
    87     LoggerPrivate *d_ptr;
    88     LoggerPrivate *d_ptr;
    88 };
    89 };
    89 
    90 
       
    91 class InitLoggerHelper
       
    92 {
       
    93 public:
       
    94     InitLoggerHelper(const QString &loggerName,const QString &configPath)
       
    95     : mLoggerName(loggerName)
       
    96     {
       
    97         Logger::instance(loggerName)->configure(configPath,QSettings::IniFormat);
       
    98     }
       
    99     ~InitLoggerHelper() {
       
   100         Logger::close(mLoggerName);
       
   101     }
       
   102 private:
       
   103     QString mLoggerName;
       
   104 };
       
   105 
       
   106 class LogFunctionEntryHelper
       
   107 {
       
   108 public:
       
   109     LogFunctionEntryHelper(const QString &loggerName,const QString &func)
       
   110     : mLoggerName(loggerName), mFunc(func)
       
   111     {
       
   112         Logger::instance(mLoggerName)->log(QLatin1String(">>>> ") + mFunc);
       
   113     }
       
   114     ~LogFunctionEntryHelper()
       
   115     {
       
   116         Logger::instance(mLoggerName)->log(QLatin1String("<<<< ") + mFunc);
       
   117     }
       
   118 private:
       
   119     QString mLoggerName;
       
   120     QString mFunc;
       
   121 };
       
   122 
       
   123 #define INIT_LOGGER(loggerName,configPath) \
       
   124     InitLoggerHelper __init##loggerName(loggerName,configPath);
       
   125 
    90 #endif //LOGGER_H
   126 #endif //LOGGER_H