* @brief a simple logger * * @param logger the logger name * @param fmt the input message */
| 324 | * @param fmt the input message |
| 325 | */ |
| 326 | inline void Logging(int loglevel, const char* logger, const char* fmt, ...) { |
| 327 | if (LOG_CURR & loglevel) { |
| 328 | using namespace std; |
| 329 | char buf[BUFSIZ] = {'\0'}; |
| 330 | va_list ap; |
| 331 | va_start(ap, fmt); |
| 332 | vsnprintf(buf, BUFSIZ, fmt, ap); |
| 333 | va_end(ap); |
| 334 | time_t t = std::time(nullptr); |
| 335 | stringstream output; |
| 336 | output << std::put_time(std::localtime(&t), "%F %T ") |
| 337 | << "<" << logger << ">: " << buf; |
| 338 | cerr << output.str(); |
| 339 | return ; |
| 340 | } |
| 341 | } |
| 342 | |
| 343 | inline void Logging(const char* logger, const char* fmt, ...) { |
| 344 | if (LOG_CURR & LOG_DEBUG) { |
no outgoing calls
no test coverage detected