| | |
| | | #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); |
| | |
| | | #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(int verbose) |
| | | inline void initLogger(LoggerVerbose verbose) |
| | | { |
| | | // initialize log4cpp |
| | | log4cpp::Category &log = log4cpp::Category::getRoot(); |
| | |
| | | } |
| | | 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; |
| | | |
| | | } |