1、基础设施之日志打印实战代码一
初步估计1至3万行代码,还不包含业务逻辑。难度超过80%的服务器项目。要付出。
日志的重要性:供日后运营维护人员去查看、定位和解决问题。
新文件:app/ngx_printf.cpp(日志打印格式) app/ngx_log.cpp(日志相关函数)
ngx_log_stderr(): 标准错误输出,往屏幕打印错误信息。
a、根据可变参数组合成一个字符串
b、网屏幕上显示出组合出来的字符串
讲解这个函数的理由:
a、了解其中代码优秀实现。提高编码能力。
b、可以支持任意格式化,对于扩展原有功能非常有帮助
ngx_log_stderr()->ngx_vslprintf(p, last, fmt, args)->ngx_sprintf_num()
2、设置时区
txselect ->4 ->9->1->1 产生文件
然后拷贝文件 sudo cp /usr/share/zoneinfo/Asia/shanghai /etc/localtime
3、基础设施之日志打印实战代码二
3.1、日志等级划分
一共分0-8级,目的是方便管理、显示、过滤等;
从高到低,数字最小的级别最高,数字最大的级别最低。
3.2、配置文件中和日志有关的选项
[log]
Log=error.log
LogLevel=8;
4、捋顺main函数中代码执行顺序
extern 外部变量声明
(1)无伤大雅也不需要释放的放最上边
(2)初始化失败,就要直接退出的
(3)一些初始化函数
(4)一些不好归类的其他类别的代码,
(5)该释放的资源要释放掉