mirror of
https://github.com/MetaCubeX/subconverter.git
synced 2025-11-04 18:19:42 +08:00
72 lines
1.5 KiB
C++
72 lines
1.5 KiB
C++
#include <string>
|
|
#include <iostream>
|
|
#include <sys/time.h>
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
|
|
#include "logger.h"
|
|
|
|
extern bool print_debug_info;
|
|
int global_log_level = LOG_LEVEL_INFO;
|
|
|
|
std::string getTime(int type)
|
|
{
|
|
time_t lt;
|
|
char tmpbuf[32], cMillis[7];
|
|
std::string format;
|
|
timeval tv;
|
|
gettimeofday(&tv, NULL);
|
|
snprintf(cMillis, 7, "%.6ld", (long)tv.tv_usec);
|
|
lt = time(NULL);
|
|
struct tm *local = localtime(<);
|
|
switch(type)
|
|
{
|
|
case 1:
|
|
format = "%Y%m%d-%H%M%S";
|
|
break;
|
|
case 2:
|
|
format = "%Y/%m/%d %a %H:%M:%S." + std::string(cMillis);
|
|
break;
|
|
case 3:
|
|
format = "%Y-%m-%d %H:%M:%S";
|
|
break;
|
|
}
|
|
strftime(tmpbuf, 32, format.data(), local);
|
|
return std::string(tmpbuf);
|
|
}
|
|
|
|
void writeLog(int type, std::string content, int level)
|
|
{
|
|
//placeholder
|
|
/*
|
|
if(print_debug_info)
|
|
std::cerr<<getTime(2)<<" [DEBUG] "<<content<<"\n";
|
|
*/
|
|
if(level > global_log_level)
|
|
return;
|
|
std::cerr<<getTime(2)<<" ["<<getpid()<<"]";
|
|
|
|
switch(level)
|
|
{
|
|
case LOG_LEVEL_VERBOSE:
|
|
std::cerr<<"[VERB]";
|
|
break;
|
|
case LOG_LEVEL_DEBUG:
|
|
std::cerr<<"[DEBG]";
|
|
break;
|
|
case LOG_LEVEL_INFO:
|
|
std::cerr<<"[INFO]";
|
|
break;
|
|
case LOG_LEVEL_WARNING:
|
|
std::cerr<<"[WARN]";
|
|
break;
|
|
case LOG_LEVEL_ERROR:
|
|
std::cerr<<"[ERRO]";
|
|
break;
|
|
case LOG_LEVEL_FATAL:
|
|
std::cerr<<"[FATL]";
|
|
break;
|
|
}
|
|
std::cerr<<" "<<content<<"\n";
|
|
}
|