153 Linux C++ 通讯架构实战8 ,日志打印实战,设置时区,main函数中顺序调整

本文主要是介绍153 Linux C++ 通讯架构实战8 ,日志打印实战,设置时区,main函数中顺序调整,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

日志打印实战

    //日志的重要性:供日后运行维护人员去查看、定位和解决问题;
    //新文件:ngx_printf.cxx以及ngx_log.cxx。
    //ngx_printf.cxx:放和打印格式相关的函数;
    //ngx_log.cxx:放和日志相关的函数;

实际上这一节的主要内容是实现一个类似printf的函数,以及如何在代码有问题的时候保存日志。

 

这部分将老师的笔记记录在这里,需要消化一下,应该需要花费的时间在1天以上,才能看个7788

二:设置时区

我们要设置成CST时区,以保证日期,时间显示的都正确

使用date查看 ,如果不是CST的,就说明我们要改动:

当前结果为2024年 03月 29日 星期五 18:06:03 CST

当前开机有效

linux 命令行 : tzselect

然后选4,再选9,选1,选1

下次开机也有效

 sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime


    //我们要设置成CST时区,以保证日期,时间显示的都正确
    //我们常看到的时区,有如下几个:
    //a)PST【PST美国太平洋标准时间】 = GMT - 8;
    //b)GMT【格林尼治平均时间Greenwich Mean Time】等同于英国伦敦本地时间
    //c)UTC【通用协调时Universal Time Coordinated】 = GMT
    //d)CST【北京时间:北京时区是东八区,领先UTC八个小时】

三:基础设施之日志打印实战代码二


    //(3.1)日志等级划分
    //划分日志等级,一共分8级,分级的目的是方便管理,显示,过滤等等;
    //日志级别从高到低,数字最小的级别最高,数字最大的级别最低;

    //(3.2)配置文件中和日志有关的选项
    //继续介绍void ngx_log_init();打开/创建日志文件
    //介绍ngx_log_error_core()函数:写日志文件的核心函数
    //ngx_slprintf
    //    ngx_vslprintf

四:捋顺main函数中代码执行顺序

这篇关于153 Linux C++ 通讯架构实战8 ,日志打印实战,设置时区,main函数中顺序调整的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859485

相关文章

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Java中ArrayList与顺序表示例详解

《Java中ArrayList与顺序表示例详解》顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构,:本文主要介绍Java中ArrayList与... 目录前言一、Java集合框架核心接口与分类ArrayList二、顺序表数据结构中的顺序表三、常用代码手动

Python中4大日志记录库比较的终极PK

《Python中4大日志记录库比较的终极PK》日志记录框架是一种工具,可帮助您标准化应用程序中的日志记录过程,:本文主要介绍Python中4大日志记录库比较的相关资料,文中通过代码介绍的非常详细,... 目录一、logging库1、优点2、缺点二、LogAid库三、Loguru库四、Structlogphp

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C++构造函数中explicit详解

《C++构造函数中explicit详解》explicit关键字用于修饰单参数构造函数或可以看作单参数的构造函数,阻止编译器进行隐式类型转换或拷贝初始化,本文就来介绍explicit的使用,感兴趣的可以... 目录1. 什么是explicit2. 隐式转换的问题3.explicit的使用示例基本用法多参数构造

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav