logger.cpp

来自「J-Alice是一个用C++实现的Ailcebot的克隆。它可以做为一个mini」· C++ 代码 · 共 59 行

CPP
59
字号
#include "Logger.h"

#include "Utils.h"

#include <time.h>

const int Logger::ERROR = 1;
const int Logger::DEBUG = 2;

void Logger::log(const string &msg, int logType) {
	switch (logType) {
		case ERROR:
			log(msg, "error");
			break;
		case DEBUG:
			log(msg, "debug");
			break;
		default:
			break;
	}
}

void Logger::log(const string &msg, const string &file) {
	fstream f;
	if (openLog(f, file + ".log")) {
		f << toUpper(file) << ": " << timestamp() << endl;
		f << msg << endl << endl;
		closeLog(f);
	}
}

string Logger::timestamp() {
	//	FORMAT: 16-12-2002 01:32 PM
	time_t t;
	struct tm *now;
	char buffer[256];
	
	t = time(NULL);
	now = localtime(&t);
	
	strftime(buffer, 256, "%d-%m-%Y %I:%M %p", now);
	
	return toUpper(string(buffer));
}

bool Logger::openLog(fstream &file, const string &name) {
	file.open(name.c_str(), ios::out | ios::app);
	if (file.is_open()) {
		file.seekp(0, ios::end);
		return true;
	}
	return false;
}

void Logger::closeLog(fstream &file) {
	if (file.is_open()) {
		file.close();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?