程序都要必备调试信息,以便观察程序运行结果;但是也要有把需要调试信息的运行状况(后台运行)。
我们可以采取两种方式来决定是否要调试信息:
1.在运行是加入-d表示要打印调试信息,不加的话不要;
2.configure时确定是否要调试信息如下:
为了获取最丰富的日志信息,我们在进行configure配置时,需要把--with-debug选项加上,这样能生成一个名为NGX_DEBUG的宏,而在Nginx源码内,该宏被用作控制开关,如果没有它,那么很多日志逻辑代码将在make编译时直接跳过。比如对单连接的debug_connection调试指令、分模块日志调试debug_http功能等。
00: 代码片段2.2-1,文件名: ngx_auto_config.h
01: #define NGX_CONFIGURE " --with-debug"
02:
03: #ifndef NGX_DEBUG
04: #define NGX_DEBUG 1
05: #endif
620: 代码片段2.2-2,文件名: nginx.c
621: #if (NGX_DEBUG)
622: {
623: char **e;
624: for (e = env; *e; e++) {
625: ngx_log_debug1(NGX_LOG_DEBUG_CORE, cycle->log, 0, "env: %s", *e);
626: }
627: }
628: #endif
有了上面这个编译前提条件之后,我们还想需在配置文件里做恰当的设置。