Ai
1 Star 0 Fork 0

丁旭升/Linux__cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Log.hpp 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
丁旭升 提交于 2023-03-29 12:47 +08:00 . epool代码---读
#pragma once
#include <iostream>
#include <cstdio>
#include <cstdarg>
#include <ctime>
#include <string>
using std::cout;
using std::endl;
using std::string;
// 日志是有日志级别的
#define DEBUG 0 // 调试
#define NORMAL 1 // 正常
#define WARNING 2 // 警告
#define ERROR 3 // 错误
#define FATAL 4 // 致命错误
#define LOGFILE "./calculato.log"
static const size_t BUFFER_NUM = 1024;
const char *gLevelMap[] = {
"DEBUG",
"NORMAL",
"WARNING",
"ERROR",
"FATAL"};
// 完整的日志功能,至少: 日志等级 时间 支持用户自定义(日志内容, 文件行,文件名)
void LogMessage(int level, const char *format, ...)
{
char stdBuffer[BUFFER_NUM]; // 标准部分
const time_t timestamp = time(nullptr);
struct tm *L_Time = localtime(&timestamp);
string time;
time += "日期-时间:" + std::to_string(L_Time->tm_year+1900) + "/" + std::to_string(L_Time->tm_mon+1) + "/" + std::to_string(L_Time->tm_mday) + "-" + std::to_string(L_Time->tm_hour) + ":" + std::to_string(L_Time->tm_min) + ":" + std::to_string(L_Time->tm_sec);
std::to_string(L_Time->tm_sec);
snprintf(stdBuffer, sizeof stdBuffer, "[%s][%s]",
gLevelMap[level], time.c_str());
char logBuffer[BUFFER_NUM]; // 自定义部分
va_list args;
va_start(args, format);
vsnprintf(logBuffer, sizeof logBuffer, format, args);
va_end(args);
//FILE *fp = fopen(LOGFILE, "a");
printf("%s%s\n", stdBuffer, logBuffer);
//fprintf(fp, "%s%s\n", stdBuffer, logBuffer);
//fclose(fp);
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/ding-xushengyun/linux__cpp.git
git@gitee.com:ding-xushengyun/linux__cpp.git
ding-xushengyun
linux__cpp
Linux__cpp
master

搜索帮助