//
|
// Created by Scheaven on 2020/9/9.
|
//
|
|
#include "log_util.h"
|
#include "../easylogging++.h"
|
INITIALIZE_EASYLOGGINGPP
|
|
SLOG* SLOG::instance = NULL;
|
SLOG* SLOG::getInstance()
|
{
|
if(SLOG::instance==NULL){
|
instance = new SLOG();
|
}
|
return instance;
|
}
|
|
SLOG::SLOG()
|
{
|
// el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);
|
// el::Loggers::addFlag(el::LoggingFlag::StrictLogFileTimeCheck);
|
// el::Loggers::reconfigureAllLoggers(el::ConfigurationType::LogFileRollingTime, "minute"); /// 按分钟滚动日志文件
|
el::Loggers::addFlag(el::LoggingFlag::StrictLogFileSizeCheck);
|
el::Loggers::configureFromGlobal("../lib/my_log.conf");
|
el::Loggers::reconfigureAllLoggers(el::ConfigurationType::MaxLogFileSize,"10485761235");
|
|
/// 注册回调函数
|
// el::Helpers::installPreRollOutCallback(rolloutHandler);
|
}
|
|
SLOG::~SLOG()
|
{
|
// el::Helpers::uninstallPreRollOutCallback();
|
}
|
|
void SLOG::release()
|
{
|
delete SLOG::instance;
|
SLOG::instance = NULL;
|
el::Helpers::uninstallPreRollOutCallback();
|
}
|
|
void SLOG::addLog(int type, std::string context)
|
{
|
switch(type)
|
{
|
case 0:
|
LOG(INFO) << context;
|
break;
|
case 1:
|
LOG(WARNING) << context;
|
break;
|
case 2:
|
LOG(ERROR) << context;
|
break;
|
case 3:
|
LOG(DEBUG) << context;
|
break;
|
case 4:
|
LOG(TRACE) << context;
|
break;
|
}
|
}
|
|
|
void rolloutHandler(const char* filename, std::size_t size)
|
{
|
/// 备份日志
|
// system("mkdir bin");
|
// std::stringstream ss;
|
// ss << "move " << filename << " bin\\log_backup_" << ++idx;
|
// system(ss.str().c_str());
|
}
|