pans
2017-01-13 1668865343c3069a65c241e167618be31a1a0549
RtspFace/logger.h
@@ -16,11 +16,25 @@
#include "log4cpp/FileAppender.hh"
#include "log4cpp/PatternLayout.hh"
enum LoggerVerbose
{
   LV_ERROR,
   LV_WARN,
   LV_NOTICE,
   LV_INFO,
   LV_DEBUG
};
#define LOG(__level)  log4cpp::Category::getRoot() << log4cpp::Priority::__level << __FILE__ << ":" << __LINE__ << "\t" 
#define LOGP(__level, __format, arg...) log4cpp::Category::getRoot().log(log4cpp::Priority::__level, "%s:%d\t" __format, __FILE__, __LINE__, ##arg);
inline void initLogger(int verbose)
#define LOG_DEBUG    LOG(DEBUG) // Debug message do not care in any production environment
#define LOG_INFO     LOG(INFO) // Not significant event but useful for deal with online problem
#define LOG_NOTICE   LOG(NOTICE) // Important event
#define LOG_WARN     LOG(WARN) // Important event or input which will lead to errors
#define LOG_ERROR    LOG(ERROR) // Error message means program running in an abnormal (not expected) way
inline void initLogger(LoggerVerbose verbose)
{
   // initialize log4cpp
   log4cpp::Category &log = log4cpp::Category::getRoot();
@@ -37,12 +51,15 @@
   }
   switch (verbose)
   {
      case 2: log.setPriority(log4cpp::Priority::DEBUG); break;
      case 1: log.setPriority(log4cpp::Priority::INFO); break;
      case LV_DEBUG: log.setPriority(log4cpp::Priority::DEBUG); break;
      case LV_INFO: log.setPriority(log4cpp::Priority::INFO); break;
      case LV_NOTICE: log.setPriority(log4cpp::Priority::NOTICE); break;
      case LV_WARN: log.setPriority(log4cpp::Priority::WARN); break;
      case LV_ERROR: log.setPriority(log4cpp::Priority::ERROR); break;
      default: log.setPriority(log4cpp::Priority::NOTICE); break;
      
   }
   LOG(INFO) << "level:" << log4cpp::Priority::getPriorityName(log.getPriority());
   LOG_INFO << "level:" << log4cpp::Priority::getPriorityName(log.getPriority());
}
   
#endif