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

免费设计软件下载网站大全长沙网络推广平台

免费设计软件下载网站大全,长沙网络推广平台,wordpress需要收费吗,wordpress默认url很多人对日志库不以为然,包括网狐这种十几年的公司都不重视,其实日志库记录的东西能在线上出问题时高效解决,特别是别人写的东西,人又走了,出了问题,还可以用日志分析快速解决。要是没有日志记录&#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.hrbkazy.com/news/24094.html

相关文章:

  • 做油漆的网站国际机票搜索量大涨
  • 微信公众号做留言网站搜索引擎优化的方式
  • 中国网站设计师seo搜索引擎优化工程师招聘
  • 哪家网站专做女性服装seo主要做哪些工作
  • 微信做引流网站百度快照查询
  • 自己建设购物网站磁力狗
  • 西安做网站的公司报价引流推广网站平台
  • 网页制作教程哔哩哔哩seo优化培训学校
  • 台州网站建设 网站制作 网站设计免费网站服务器安全软件下载
  • 做网站的生产方式北京百度公司地址在哪里
  • 浙江省工程建设协会网站seo导航
  • ssh实训做网站代码下载企业网站seo优化公司
  • 常州溧阳市建设局网站推广文案怎么写吸引人
  • 临朐营销型网站建设排名检测
  • 旅游网页设计模板图凡科seo网站优化收藏
  • 济宁网站开发公司seo整体优化步骤怎么写
  • 网站内页设置多少个关键字最好小红书seo优化
  • 中国移动官方网站登录入口网站单向外链推广工具
  • 在日本做网站的公司有哪些一个新手怎么去运营淘宝店铺
  • 网站公安备案多久审核宁波网站推广制作
  • vs2017 asp网站开发b站推广网站mmm
  • 股票配资网站建设网站热度查询
  • 响应式网站有什么区别网站更新seo
  • WordPress显示插件苏州seo按天扣费
  • 今科网站建设公司百度云搜索引擎入口 百度网盘
  • 小程序模板源代码广东做seo的公司
  • 河南省城市建设网站搜索引擎排名国内
  • 地区网站建设济南seo顾问
  • 东莞长安网站制作百度推广产品有哪些
  • 拉萨网站建设多少钱软文代发代理