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

网站后台管理员密码成都水高新区建设局官方网站

网站后台管理员密码,成都水高新区建设局官方网站,做网站有哪些公司好,济南源码网站建设需求描述 日志等级:定义一个枚举类型 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.yayakq.cn/news/311199/

相关文章:

  • 企业网站备案在哪个部门金泉网做网站要找谁
  • 商水县住房城乡建设网站目前好的推广平台
  • 长沙网站seo多少钱深圳网站网页制作
  • 怎样讲卖灯的网站做的好wordpress后台登不进去
  • 经销商城建站微信生活门户网站源码
  • php做网站好吗网站建设图片设置
  • 四川建设行业数据共享平台网站问题福州建网站哪家好
  • wordpress更换网站做网商要创建网站吗
  • 住房城乡建设网站wordpress的简单介绍
  • 做好网站建设静态化棋牌软件开发定制
  • 网站开发 数字证书企业网站的建设过程
  • 校园网站建设的可行性分析搭建国外网站的步骤
  • 福建建设厅网站 资质深圳做网站最好的公司
  • 网站里面的按钮链接怎么做广西住建厅行政审批系统
  • 19年做网站中国2022年企业500强一览表
  • 平面设计最常用的网站海外域名平台
  • 电商网站功能列表深圳专业网站建
  • 广州制作网站平台手机网站做成app
  • 网站被管理员权限wordpress修改绑定域名
  • 国外有名的设计网站搜狗推广开户
  • 网站建设战略合作方案wordpress扫码支付
  • 网站建设公司工资设置网站上的图片格式怎么做
  • 学校网站建设多少钱百度快速排名案例
  • 做企业手机网站海外营销推广服务
  • 活动营销方案网站优化知识
  • 网站建设自身优势的分析高端大气企业网站
  • 斗牛网站开发网站更换名称需要重新备案吗
  • 武安 制作网站深圳专业网站建设多少钱
  • 高端的网站泉州手机网站建设价格
  • 河北沙河市建设局网站百度图片收录提交入口