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

宿迁新站seo网站主办单位负责人

宿迁新站seo,网站主办单位负责人,英文域名在哪个网站查询,ps网页设计作品欣赏日志文件Log.hpp 日志文件的作用简单的日志文件编写 日志文件的作用 日志文件可以很好的帮我们显示出程序运行的信息,例如,进程pid,运行时间,运行状况等,通过日志记录程序的执行路径、变量值、函数调用等,可以帮助我们快速定位和修复代码中的错误。 简单的日志文件…

日志文件Log.hpp

  • 日志文件的作用
  • 简单的日志文件编写

日志文件的作用

日志文件可以很好的帮我们显示出程序运行的信息,例如,进程pid,运行时间,运行状况等,通过日志记录程序的执行路径、变量值、函数调用等,可以帮助我们快速定位和修复代码中的错误。

简单的日志文件编写

下面是用C/C++编写的一段日志文件: Log.hpp

#pragma once //日志文件#include<iostream>
#include<cstdio>
#include<stdarg.h>
#include<ctime>
#include<fstream>
#include <sys/stat.h>
#include <sys/types.h>enum  //日志等级设置 
{ Debug = 0,  //调试等级Info,  //常规Warning,  Error,Fatal  //服务器 
};enum   //设置打印风格
{Screen = 0,  //打印到显示器OneFile,    //打印到一个文件里ClassFile   //分文件打印
};const int defauleStyle = Screen;  //默认打印到屏幕上
const std::string defaultFilename = "log.";
const std::string logdir = "log";std::string LevelToString(int level)
{switch(level){case Debug:return "Debug";case Info:return "Info";case Warning:return "Warning";case Error:return "Error";case Fatal:return "Fatal";default:return "Unknow";}
}std::string localTime()
{time_t curtime = time(0);struct tm *t = localtime(&curtime);char time_buffer[128];snprintf(time_buffer,sizeof(time_buffer),"%d-%d-%d %d:%d:%d",\t->tm_year+1900,t->tm_mon+1,t->tm_mday,\t->tm_hour,t->tm_min,t->tm_sec);return time_buffer;
}class Log
{
public:Log():style(defauleStyle),filename(defaultFilename){mkdir(logdir.c_str(),0775); //创建log目录用以记录日志文件}//设置打印风格,默认打印到屏幕void Enable(int sty){style = sty;}void WriteOnefile(const std::string& logname, const std::string &message){std::ofstream out(logname,std::ios::app); //创建文件,并以追加的方式打印内容if(!out.is_open()) return;out.write(message.c_str(),message.size()); //向目标文件中输出内容out.close();}void WriteClassfile(const std::string& level,const std::string &message){std::string logname = logdir;  //写入文件名的时候加上路径,就会直接在所写路径下进行输出logname += '/';logname += filename;logname += level;WriteOnefile(logname,message);}   void Writelog(const std::string &level,const std::string &message){switch (style){case Screen: //默认打印到屏幕std::cout<<message<<std::endl;break;case OneFile:  //默认打印到log.all文件中WriteClassfile("all",message);break;case ClassFile:  //默认打印到各类日志文件中WriteClassfile(level,message);break;default:break;}}//使用可变参数void LogMessage(int level,const char* format,...){char leftbuffer[1024]; // 这里打印日志等级,时间  到leftguffersnprintf(leftbuffer, sizeof(leftbuffer), "[%s] [%s]", LevelToString(level).c_str(), localTime().c_str());char rightbuffer[1024];  // 这里打印输入参数的内容  到rightbufferva_list args;va_start(args,format); //初始化可变参数列表 //此时args指向了可变参数部分 , 将参数中的信息输入到字符串mess中vsnprintf(rightbuffer,sizeof(rightbuffer),format,args);va_end(args);//将信息合体std::string message(leftbuffer);message += rightbuffer;//打印内容Writelog(LevelToString(level),message);}~Log(){}
public:int style;//打印风格  上面默认设置为打印到屏幕std::string filename;   //文件名默认为: log.};

调试代码:
test.cc

#include<iostream>
#include"Log.hpp"
#include <unistd.h>using namespace std;void testLog()
{Log log;log.Enable(ClassFile);log.LogMessage(Debug," i am %d \n",getpid());log.LogMessage(Info," i am %d \n",getpid());log.LogMessage(Warning," i am %d \n",getpid());log.LogMessage(Error," i am %d \n",getpid());log.LogMessage(Fatal," i am %d \n",getpid());log.LogMessage(Debug," i am %d \n",getpid());log.LogMessage(Info," i am %d \n",getpid());log.LogMessage(Warning," i am %d \n",getpid());log.LogMessage(Error," i am %d \n",getpid());log.LogMessage(Fatal," i am %d \n",getpid());log.LogMessage(Debug," i am %d \n",getpid());log.LogMessage(Info," i am %d \n",getpid());log.LogMessage(Warning," i am %d \n",getpid());log.LogMessage(Error," i am %d \n",getpid());log.LogMessage(Fatal," i am %d \n",getpid());
}int main()
{testLog();return 0;
}

测试结果:
在这里插入图片描述
可以看到,log目录下有各个日志文件,每个日志文件中有不同的内容
如:log.Debug
在这里插入图片描述

http://www.yayakq.cn/news/767681/

相关文章:

  • 网站的建设与维护建网站成本
  • 网站怎么创建论坛优秀的网站通过什么提供信息
  • 网站建设所学内容天津seo关键词排名优化
  • 建网站大概多少费用怎么做好一个网站
  • 合肥 网站运营有机大米网站建设方案
  • 网站的开发流程有哪几个阶段上海网站建设开发哪家好
  • 明快网站设计微盟商城官网
  • 长安网站设计wordpress 文章 附件
  • 采集网站文章wordpress改底部代码
  • 如何提高网站首页权重查看网站有没有备案
  • 包头网站建设熊掌号wordpress站点 HTML
  • 游戏发号网站源码网页设计与网站建设期末考试
  • 博客网站做外贸可以吗社区论坛源码
  • 专门做鞋子的网站专业做简历找什么店
  • 云速成美站做网站好吗网站推广的基本方法有
  • 高阳网站制作购物商城网站都有哪些功能
  • 网站管理公司网站备案要多久时间
  • 响应式网站建设合同河南安阳市滑县
  • 数据库网站模板网站如何做线上支付功能
  • 免费海报制作网站河北网站建设搭建
  • 手机网站开发按返回弹出提示窗口学成在线网页制作
  • 合肥最好的网站建设项目管理软件是用来干嘛的
  • 网站可信度必须做吗工作
  • 中国旅游网站模板怎么看网站制作
  • 龙华网网站大学生兼职网站建设策划书
  • 做面食专业网站山东省住房建设厅网站安全处
  • 厦门学校网站建设西安网站制作首页
  • 免费素材网站哪个最好在线拼图制作
  • 介绍好的免费网站模板下载地址有什么网站做可以国外的生意
  • 备案 网站建设方案书免费企业网站系统源码