代码拉取完成,页面将自动刷新
#include "logger.h"
#include <cstdarg>
#include <cstdio>
#include <ctime>
#include <memory>
using namespace std;
static const char LOG_TYPE_DESC[] = "EWIDCCCCCCCCCCCCCCCCCCCCCC";
Logger & Logger::Instance() {
static unique_ptr<Logger> _iIns;
if (!_iIns.get()) _iIns.reset(new Logger);
return *(_iIns.get());
}
void Logger::Log(ELog::Level emLevel, const char * pFmt, ...) {
std::unique_lock<std::mutex> iAuto(_iLock);
time_t nNow = time(NULL);
struct tm* pLocal = nullptr;
#if defined(_WIN32)
struct tm iLocal = { 0 };
pLocal = &iLocal;
localtime_s(pLocal, &nNow);
#else
pLocal = localtime(&nNow);
#endif
printf("[%04d-%02d-%02d %02d:%02d:%02d][%c] ",
pLocal->tm_year + 1900, pLocal->tm_mon + 1, pLocal->tm_mday, pLocal->tm_hour, pLocal->tm_min, pLocal->tm_sec,
LOG_TYPE_DESC[emLevel]);
va_list args;
va_start(args, pFmt);
vprintf(pFmt, args);
printf("\n");
va_end(args);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。