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

免费设计软件下载网站大全汽车营销策划方案ppt

免费设计软件下载网站大全,汽车营销策划方案ppt,h5网站模板下载,网站建设开发价格怎么算很多人对日志库不以为然,包括网狐这种十几年的公司都不重视,其实日志库记录的东西能在线上出问题时高效解决,特别是别人写的东西,人又走了,出了问题,还可以用日志分析快速解决。要是没有日志记录&#xff0…

       很多人对日志库不以为然,包括网狐这种十几年的公司都不重视,其实日志库记录的东西能在线上出问题时高效解决,特别是别人写的东西,人又走了,出了问题,还可以用日志分析快速解决。要是没有日志记录,出了问题就疑东疑西,看别人代码去解决,那就是你加班的开始。。。

       老版本的网狐框架是没有日志库的,到了后面的旗舰版本才有一个幼儿园版本的日志记录服务器。有也是一个垃圾,一是没写好,二是还经常崩溃,三还丢失日志,四日志服务器CPU经常20%-30%等等。以前还看到他们的代码每个桌子都创建一个文件,游戏里面还一大堆操作文件的代码。。。。。非常难看,还低效。这还能忍得了的!

        为此我找了一个高级的异步开源日志——spdlog,其实开源日志库里面优秀的很多,选择这个是简单易用,可以异步,可以按日志等级打印,支持多线程等等,姿势很多。

且看我如何操刀:

先到GitHub - gabime/spdlog: Fast C++ logging library.开源库上下载下来,编译成lib,然后用类封装起来给各个模块包含使用。如何封装看下面

#ifndef __H_LOGTOOL
#define __H_LOGTOOL
#include <iostream>
#include <spdlog/spdlog.h>
#include <spdlog/cfg/env.h>  // support for loading levels from the environment  variable
#include <spdlog/fmt/ostr.h> // support for user defined types
#include "spdlog/async.h"
#include "spdlog/sinks/basic_file_sink.h"
#include "spdlog/sinks/daily_file_sink.h"#ifdef _DEBUG
#pragma comment (lib,"./include/lib/spdlogd.lib")
#else
#pragma comment (lib,"./include/lib/spdlog.lib")
#endif
#define LOG_MAX_SIZE 2048
using namespace std;
using namespace spdlog;
class logTool
{
public:logTool(){}~logTool(){Tool->flush();spdlog::drop_all();spdlog::shutdown();}void init(string szServerName)//房间名称{//spdlog::init_thread_pool(10000, 2);spdlog::cfg::load_env_levels();string fileName = "logs/daily" + szServerName + ".log";auto daily_logger = spdlog::daily_logger_mt<spdlog::synchronous_factory>("daily_logger", fileName, 0, 0);//下面这个支持多线程打印日志//auto daily_logger = spdlog::daily_logger_format_mt<spdlog::synchronous_factory>("daily_logger", fileName, 0, 0);daily_logger->flush_on(spdlog::level::warn);Tool = daily_logger;}void log(string szLogInfo){Tool->info(szLogInfo);}void logWarn(string szLogInfo){Tool->warn(szLogInfo);}void logError(string szLogInfo){Tool->error(szLogInfo);}void flush(){Tool->flush();}
private:shared_ptr<spdlog::logger> Tool;
};

接着下一步是如何引入到服务器里面使用,也简单,几行代码搞定

#include "..\..\全局定义\logTool.h"
logTool logex;
#define log(...) logex.log(__VA_ARGS__)

服务器停止处添加logex.flush();这让防止服务器关闭时没有及时写入文件。

接着看效果

就连打印日志样式也可以设置的,我只用了官方介绍的20%的功能就满足了我的工作需求。

磨刀不误砍柴工,有了日志库,再也不用担心出问题,无处可查,大大降低了加班的次数。

http://www.ds6.com.cn/news/17419.html

相关文章:

  • 动态网站php怎么做热搜关键词
  • 衡水教育行业网站建设谷歌seo营销
  • 织梦网站tag自定义插件定制化网站建设
  • 找做网站的公司好网络公司网页设计
  • 什么是网络设计平台安卓优化大师2021
  • 自学网站的建设域名查询注册商
  • 韶关网站建设第一品牌如何推广公众号
  • 昆山网站建设电话电商平台链接怎么弄
  • 如何加强政府网站建设方案关键词挖掘站长工具
  • 网站开发 平台建设本网站三天换一次域名
  • 做精品课程网站需要啥素材谷歌seo零基础教程
  • 做黄网站用什么域名竞价 推广
  • 手机网站建设服务电话济南seo排行榜
  • 大型购物网站排名现在有什么技能培训班
  • 外贸网站设计方案网络推广优化seo
  • 建站流程网站上线网页制作html代码
  • 如何选择南京网站建设全网营销网络推广
  • 郑州 网站报价平台推广是什么
  • 广州南站在哪个区淘宝补流量平台
  • 建立自己的网站需要多少钱百度seo白皮书
  • 做网络营销如何建立自己的网站郑州seo代理外包
  • 龙岩做网站开发哪家做的好百度seo公司哪家好一点
  • 做外贸女装有哪些网站有哪些惠州seo博客
  • 静态网站和动态网站区别推广服务商
  • 文本怎样做阅读链接网站网络营销专业就业方向
  • 淄博网站推广公司怎么设计一个网页
  • 如何粘贴网站统计代码网络推广公司北京
  • 上海 网站建设google关键词全网指数查询
  • 电话销售做网站犯法吗个人如何在百度做广告
  • 新疆网站建设软文投放平台有哪些