当前位置: 首页 > news >正文

专做火影黄图的网站阿里云域名查询和注册

专做火影黄图的网站,阿里云域名查询和注册,wordpress动态文章页模板,做公司网站用哪个公司比较好需求描述 日志等级:定义一个枚举类型 LogLevel,包含至少四个等级:DEBUG、INFO、WARNING、ERROR。日志记录:实现一个 Logger 类,包含以下功能: 一个静态方法 log,接受 LogLevel 和一个字符串作为…

需求描述

  1. 日志等级:定义一个枚举类型 LogLevel,包含至少四个等级:DEBUGINFOWARNINGERROR
  2. 日志记录:实现一个 Logger 类,包含以下功能:
    • 一个静态方法 log,接受 LogLevel 和一个字符串作为参数,用于记录日志。
    • 一个静态方法 setLevel,用于设置日志等级,只有当记录的日志等级大于等于设置的等级时,日志才会被输出。
    • 日志输出应包括时间戳、日志等级和日志信息。
  3. 多文件支持Logger 类应该支持将日志输出到不同的文件,例如 debug.loginfo.logwarning.log 和 error.log
  4. 线程安全Logger 类应该是线程安全的,以支持多线程环境下的日志记录。

代码示例:

#include <iostream>
#include <string>
#include <fstream>
#include <mutex>
#include <chrono>
#include <ctime>using namespace std;enum LogLevel
{DEBUG,INFO,WARNING,ERROR,
};class Logger
{
private:static LogLevel m_currentLevel;static mutex mtx;
public:Logger(/* args */);~Logger();public:static void setLevel(LogLevel level);// 记录日志生成文件static void log(LogLevel level, const string &msg);
};Logger::Logger(/* args */)
{
}Logger::~Logger()
{
}void Logger::setLevel(LogLevel level)
{lock_guard<mutex> lock(mtx);m_currentLevel = level;
}// 记录日志生成文件
void Logger::log(LogLevel level, const string &msg)
{// 加锁lock_guard<mutex> lock(mtx);// 根据默认设置的等级屏蔽掉低于该等级的日志,不需要生成对应的文件if(level >= m_currentLevel){string strLevel;switch (level){case DEBUG:strLevel = "DEBUG";break;case INFO:strLevel = "INFO";break;case WARNING:strLevel = "WARNING";break;case ERROR:strLevel = "ERROR";break;default:strLevel = "UNKNOW";break;}// 记录日志的时间time_t now = time(nullptr);tm *currTime = localtime(&now);char buffer[80];strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", currTime);// 创建日志文件名并写入数据string fileName = strLevel + ".log";// 打开文件,以追加的形式写入ofstream file(fileName, ios_base::app);if(!file.is_open()){cerr << "Unable to open log file: " << fileName << endl;}file << buffer << "[" << strLevel << "]" << msg <<endl;file.close();}
}// 初始化静态变量
LogLevel Logger::m_currentLevel = INFO;
std::mutex Logger::mtx;int main()
{Logger::setLevel(INFO); // 默认为INFOLogger::log(DEBUG, "This is a debug message."); // 不输出Logger::log(INFO, "This is an info message."); // 输出到 info.logLogger::log(WARNING, "This is a warning message."); // 输出到 warning.logLogger::log(ERROR, "This is an error message."); // 输出到 error.logreturn 0;
}

http://www.khdw.cn/news/37966.html

相关文章:

  • 广州番禺网站建设公司重庆seo整站优化设置
  • 南阳手机网站建设常用的搜索引擎
  • 石家庄大的网站开发公司数字营销成功案例
  • 明珠信息港网站建设专家代运营电商公司排行榜
  • 电商pc网站建设方案新闻头条最新
  • wordpress做网站百度搜索广告怎么收费
  • 公司制作网站费用怎么做分录百度信息流广告怎么收费
  • 湘潭专业sem优化seo搜索引擎优化软件
  • 重庆哪家做网站好爱站网长尾关键词挖掘工具下载
  • 网站源码模块保定seo排名
  • 做网站css代码怎么把平台推广出去
  • 学校做网站的目的企业网站大全
  • 小程序源码在哪个平台购买电商运营seo
  • 做网站能用本地的数据库嘛网站的推广优化
  • 大连 网站制作荥阳网络推广公司
  • php成品网站seo关键词挖掘工具
  • 福清网站商城建设个人网站开发网
  • 制作一个公司网站用vs怎么做电商网站图片
  • DW怎么做招聘网站怎样才能被百度秒收录
  • 企业做网站需要注意什么搜索引擎
  • 上海做网站制作2022最新版百度
  • 彭阳网站建设多少钱seo优化怎么做
  • 做网站的产品图片百度公司全称叫什么
  • 怎么建设自己的卡盟网站平台推广广告宣传词
  • 个人主页界面网站百度推广代运营公司
  • 宣传片拍摄制作报价单seo排名优化软件有用
  • 专门做团购的网站有哪些最近军事新闻
  • 网站管理员权限外链论坛
  • 正邦网站建设 优帮云免费建网站知乎
  • 做网站 视频加载太慢什么是推广