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

千山科技做网站好不好企业seo关键字优化

千山科技做网站好不好,企业seo关键字优化,企业建设营销型网站的目的有,营销网站模板htlm一、使用 C 实现日志系统在项目开发过程中,调试器(Debugger)是便捷的调试工具,但日志系统更是最廉价、最便捷的错误定位工具。当项目交付运行后,日志系统成为程序在运行环境中的 “健康监控仪”—— 当程序执行出错或业…

一、使用 C++ 实现日志系统

在项目开发过程中,调试器(Debugger)是便捷的调试工具,但日志系统更是最廉价、最便捷的错误定位工具。当项目交付运行后,日志系统成为程序在运行环境中的 “健康监控仪”—— 当程序执行出错或业务逻辑出现问题时,我们将依赖日志快速定位问题根源。

1.1 开发日志系统的目的

开发日志系统主要为了实现以下目标:

  1. 追踪程序执行的过程;
  2. 追踪数据的变化;
  3. 快速定位问题的根源;
  4. 数据统计和性能分析;
  5. 为以后开发其他项目提供支持。

1.2 日志系统的功能需求

1. 日志消息级别

日志消息分为六个级别,按严重程度从高到低依次为:
FATAL(致命错误)ERROR(错误)WARN(警告)INFO(信息)DEBUG(调试)TRACE(跟踪)

2. 日志消息格式示例

2022/09/19 02:07:48 720332Z 234672 INFO Test_Logger.cpp func  20 - func info 
2022/09/19 02:07:48 720344Z 234344 INFO Test_Logger.cpp func  23 - func info 

格式字段说明:
日期 时间 微秒 线程ID 级别 文件名 函数名 行号 正文

3. 日志消息格式要求

  1. 每条日志占一行,便于使用awksedgrep等命令行工具联机分析;
  2. 时间戳精确到微秒;
  3. 始终使用 GMT 时区(标记为Z),避免跨洲分布式系统的时区转换问题,便于追查事件顺序;
  4. 打印线程 ID,用于分析多线程程序时序及检测死锁;
  5. 打印日志级别,在线查错时可优先关注ERROR级日志,加速定位问题;
  6. 打印源文件名、函数名、行号,避免修复 bug 时搞错对象。

4. 记录日志的方式

支持两种输出方式:

  • 终端显示
  • 写入日志文件

5. 滚动日志(rolling log)

日志文件必须支持滚动功能,用于简化日志归档并防止单个文件过大占满硬盘空间。

  • 滚动原理:通过设定规则(最大文件大小、最多保存天数),超过阈值后删除较早记录。
  • 滚动条件
    • 文件大小(如每写满 1GB 切换到新文件);
    • 时间(如每天零点新建日志文件,无论前一个文件是否写满)。

6. 日志级别设置

输出日志时,仅级别高于配置中规定级别的信息会被输出。无需修改代码即可灵活配置不同场景下的日志输出内容,便捷高效。

7. Log 文件名格式

文件名组成规则:
basename + now + hostname + pid + ".log"

  • basename:基础名,由用户指定(通常为应用程序名);
  • now:当前时间,格式为"%Y%m%d-%H%M%S"
  • hostname:主机名;
  • pid:进程号(通过getpid从 OS 获取);
  • 各部分用.连接。

示例(basename 为test_log_mt):
test_log_mt.20220218-134000.ubuntu.12426.log

#include "Logger.hpp"tulun::LogFile* plog = nullptr;void writefile(const string& info)
{plog->append(info);
}void flushfile()
{plog->flush();
}int main()
{tulun::Logger::setOutput(writefile);tulun::Logger::setFlush(flushfile);plog = new tulun::LogFile("yhping", 1024 * 1024 * 1000);for (int i = 0; i < 1000000; ++i){LOG_INFO << "main" << i;}return 0;
}
http://www.dtcms.com/a/586856.html

相关文章:

  • 基于Spring ApplicationEvent的业务解耦实践
  • 网站留言板作用ktv网站模板
  • 什么网站必须要flash寮步网站建设价钱
  • 手机网站建设服务电话现在做网站都是怎么做的
  • C++项目中实现无锁队列
  • 谷歌:LLM监督强化学习框架SRL
  • C++ 实现智能指针my_auto_ptr支持指针剥离及函数间传递
  • 网站建设公司如何挖掘客户少儿编程证书含金量排名
  • 电脑自带的做网站叫什么娱乐论坛网站建设方案范文
  • AI?不,是Illustrator“变量”:10分钟生成500张UI卡片
  • 南漳网站制作网站建设与网页制作案例教程
  • 宜城网站建设网络推广网站推广软件app
  • 怎样在网站上做有效的广告投放网站制作找哪个
  • wordpress 站外调用网站建设怎么找客户
  • 想做个网站要多少钱单位做网站图片素材
  • 洛阳霞光企业网站建设公司深圳网站搭建电话
  • C语言进阶:共用体和枚举
  • 网站单页源码ui培训班哪里有
  • 鸟人 网站建设东莞常平有哪些好玩的地方
  • 专做动漫解说的网站做视频采集网站犯法
  • 1.5 程序的开发过程
  • 网站推广公司排名小米路由2 做网站
  • 数据索引是无序时,直接用这个数据去画图的话,显示的图是错误的
  • 网站建设 制作公司网站建设好后能修改吗
  • CentOS7安装Docker及配置代理
  • 专业做生鲜的网站wordpress站点如何加速
  • 外贸网站推广方案福田企业的网站建设公司好吗
  • 什么是跳表
  • 沧县网站建设公司html页面制作
  • 多用户商城网站企业邮箱什么格式