一:基礎設施之日誌打印實戰代碼一
//日誌的重要性:供日後運行維護人員去查看、定位和解決問題;
//新文件:ngx_printf.cxx以及ngx_log.cxx。
//ngx_printf.cxx:放和打印格式相關的函數;
//ngx_log.cxx:放和日誌相關的函數;
//ngx_log_stderr() :三個特殊文件描述符【三章七節】,談到了標準錯誤 STDERR_FILENO,代表屏幕
//ngx_log_stderr():往屏幕上打印一條錯誤信息;功能類似於printf
//printf("mystring=%s,myint=%d,%d","mytest",15,20);
//(1)根據可變的參數,組合出一個字符串:mystring=mytest,myint=15,20
//(2)往屏幕上顯示出這個組合出來的字符串;
//講解ngx_log_stderr()函數的理由:
//(1)提高大家編碼能力;
//(2)ngx_log_stderr():可以支持任意我想支持的格式化字符 %d, %f,對於擴展原有功能非常有幫助
//(i)void ngx_log_stderr(int err, const char *fmt, ...)
//(i) p = ngx_vslprintf(p,last,fmt,args); //實現了自我可定製的printf類似的功能
//(i) buf = ngx_sprintf_num(buf, last, ui64, zero, hex, width);
//(i) p = ngx_log_errno(p, last, err);
二:設置時區
//我們要設置成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