亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

解析Nginx中的日志模塊及日志基本的初始化和過濾配置

2024-08-30 12:28:10
字體:
來源:轉載
供稿:網友

無論在任何項目中,日志都是一個非常重要的模塊,無論是問題定位還是日常信息的管理,都離不開他

在nginx中,ngx_errlog_module模塊專門用于處理nginx日志信息,是nginx的core模塊之一

在 main 函數中,時間初始化結束后馬上進行的就是日志模塊的初始化

日志結構:
日志模塊的初始化主要做的事情就是初始化全局變量 ngx_log,并創建 errlog 文件

ngx_log_s 結構
ngx_log 變量是一個 ngx_log_s 結構體,定義在 core/ngx_log.h 文件中,結構如下:

// struct ngx_log_s// 日志結構 {{{struct ngx_log_s { ngx_uint_t   log_level;  // 日志等級 ngx_open_file_t  *file;   // 日志文件信息 ngx_atomic_uint_t connection; // 引用該日志對象的連接數 ngx_log_handler_pt handler;  // 輸出日志時需要調用的回調函數 void    *data;   // 回調函數所需要的參數 ngx_log_writer_pt writer; void    *wdata; /*  * we declare "action" as "char *" because the actions are usually  * the static strings and in the "u_char *" case we have to override  * their types all the time  */ char    *action;  // 日志記錄前,保存當前正在進行的動作 ngx_log_t   *next;   // 指向下一日志對象}; // }}}
 

日志級別
nginx 中日志共分為9個級別:

#define NGX_LOG_STDERR   0#define NGX_LOG_EMERG    1#define NGX_LOG_ALERT    2#define NGX_LOG_CRIT    3#define NGX_LOG_ERR    4#define NGX_LOG_WARN    5#define NGX_LOG_NOTICE   6#define NGX_LOG_INFO    7#define NGX_LOG_DEBUG    8

 
ngx_open_file_s 結構
其中,日志的文件描述結構如下:

// struct ngx_open_file_s// 打開文件結構 {{{struct ngx_open_file_s { ngx_fd_t    fd; ngx_str_t    name; void    (*flush)(ngx_open_file_t *file, ngx_log_t *log);   // 文件刷新時調用的回調 void     *data; // 回調函數使用的參數}; // }}}
所有文件相關的數據結構和操作都在 core/ngx_conf_file.h 和 core/ngx_conf_file.c 文件中

 

日志初始化過程
日志相關的初始化操作都在 core/ngx_log.c 文件中,現在我們調用的是其中的初始化函數:

// ngx_log_t *ngx_log_init(u_char *prefix);// 初始化 ngx_log 結構,創建 errlog 文件 {{{ngx_log_t *ngx_log_init(u_char *prefix){ u_char *p, *name; size_t nlen, plen; ngx_log.file = &ngx_log_file; ngx_log.log_level = NGX_LOG_NOTICE; name = (u_char *) NGX_ERROR_LOG_PATH; /*  * we use ngx_strlen() here since BCC warns about  * condition is always false and unreachable code  */ nlen = ngx_strlen(name); if (nlen == 0) {  ngx_log_file.fd = ngx_stderr;  return &ngx_log; } p = NULL; // 判斷是否是絕對路徑#if (NGX_WIN32) if (name[1] != ':') {#else if (name[0] != '/') {#endif  if (prefix) {   plen = ngx_strlen(prefix);  } else {#ifdef NGX_PREFIX   prefix = (u_char *) NGX_PREFIX;   plen = ngx_strlen(prefix);#else   plen = 0;#endif  }  if (plen) {   name = malloc(plen + nlen + 2);   if (name == NULL) {    return NULL;   }   p = ngx_cpymem(name, prefix, plen);   if (!ngx_path_separator(*(p - 1))) {    *p++ = '/';   }   ngx_cpystrn(p, (u_char *) NGX_ERROR_LOG_PATH, nlen + 1);   p = name;  } } ngx_log_file.fd = ngx_open_file(name, NGX_FILE_APPEND,         NGX_FILE_CREATE_OR_OPEN,         NGX_FILE_DEFAULT_ACCESS); if (ngx_log_file.fd == NGX_INVALID_FILE) {  ngx_log_stderr(ngx_errno,      "[alert] could not open error log file: "      ngx_open_file_n " /"%s/" failed", name);#if (NGX_WIN32)  ngx_event_log(ngx_errno,      "could not open error log file: "      ngx_open_file_n " /"%s/" failed", name);#endif  ngx_log_file.fd = ngx_stderr; } if (p) {  ngx_free(p); } return &ngx_log;}// }}}

這個初始化過程非常容易理解,之后其他的日志操作也都在這個文件中,我們遇到之后再進行詳細講解

函數執行后,返回 ngx_log 結構的地址

ngx_log 結構取值如下:

{ log_level = 6,  file = 0x80e3000 <ngx_log_file>,  connection = 0,  handler = 0x0,  data = 0x0,  writer = 0x0,  wdata = 0x0,  action = 0x0,  next = 0x0}

file 字段取值:

{ fd = 3,  name = { len = 0,  data = 0x0 },  flush = 0x0,  data = 0x0}

 

使用ngx_log_if不記錄特定日志
第一步:
先到Github下載ngx_log_if地址https://github.com/cfsego/ngx_log_if/
第二步:
安裝第三方模塊到Nginx。第三方模塊的安裝可以參考http://wiki.nginx.org/3rdPartyModules 使用--add-module添加解壓后的ngx_log_if如下

./configure --add-module=/var/local/ngx_log_if-master

然后再編譯安裝Nginx即可。
第三步:
配置access_log_bypass_if到nginx.conf配置文件中

server { location / {  access_log_bypass_if ($status = 404); #不記錄404狀態的所有日志信息  access_log_bypass_if ($uri ~* 'images'); #不記錄uri中所有images目錄下文件的日志信息  access_log_bypass_if ($uri = '/index.html'); #不記錄uri為/index.html的日志信息 access_log_bypass_if ($host ~* 'tonv.cc'); #不記錄host為tonv.cc的所有日志信息 }}

重啟Nginx即可過濾不顯示特定的日志了


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产视频在线观看一区二区| 国产精品wwwwww| 色噜噜久久综合伊人一本| 精品女同一区二区三区在线播放| 中文字幕在线看视频国产欧美| 欧美国产欧美亚洲国产日韩mv天天看完整| 色综合久久天天综线观看| 欧美日本高清视频| 日韩av综合网站| 日韩欧美中文字幕在线观看| 色老头一区二区三区在线观看| 精品国内亚洲在观看18黄| 亚洲性av在线| 不卡在线观看电视剧完整版| 久久久久久久久久久久久久久久久久av| 久久久久五月天| 4k岛国日韩精品**专区| 中文字幕一区日韩电影| 欧美性xxxx在线播放| 日韩精品中文字幕在线观看| 欧美午夜电影在线| 亚洲天堂av在线免费观看| 亚洲男女性事视频| 国产一区二区三区日韩欧美| 国产福利精品av综合导导航| 91视频免费网站| 亚洲国产精品久久久久久| 欧美中文在线字幕| 欧美日韩成人网| 欧美一区二区色| 在线不卡国产精品| 亚洲精品国产精品久久清纯直播| 国产专区精品视频| 日韩亚洲欧美中文高清在线| 精品中文字幕在线观看| 国内精品模特av私拍在线观看| 国产精品777| 国产精品日韩一区| 97欧美精品一区二区三区| 国产日韩在线亚洲字幕中文| 久久久爽爽爽美女图片| 欧美日韩激情视频8区| 亚洲人成伊人成综合网久久久| 久久久久久久久久婷婷| 亚洲aⅴ男人的天堂在线观看| 欧美日韩美女视频| 亚洲电影av在线| 日韩中文字幕欧美| 欧洲亚洲妇女av| 正在播放国产一区| 国产不卡精品视男人的天堂| 日韩av网站导航| 亚洲国产91色在线| 神马国产精品影院av| 亚洲视频欧美视频| 日韩国产在线播放| 亚洲一区二区在线播放| 亚洲欧美日韩天堂一区二区| 国产精品亚洲激情| 亚洲精品wwwww| 久热精品视频在线观看一区| 日韩欧中文字幕| 88国产精品欧美一区二区三区| 九九精品在线观看| 色偷偷88888欧美精品久久久| 精品精品国产国产自在线| 欧美黄色片在线观看| 日韩精品极品在线观看播放免费视频| 555www成人网| 久久精品在线播放| 欧美精品在线第一页| 色综合色综合网色综合| 97视频免费观看| 日韩av快播网址| 国产精品网址在线| 中文字幕日韩欧美在线视频| 乱亲女秽乱长久久久| 精品久久久久久中文字幕| 欧美在线视频免费播放| 国产精品欧美风情| 国产精品久久久久久久天堂| 在线丨暗呦小u女国产精品| 成人做爽爽免费视频| 亚洲激情电影中文字幕| 日韩电影在线观看中文字幕| 国产婷婷色综合av蜜臀av| 亚洲美女中文字幕| 亚洲第一页中文字幕| 中文字幕久热精品在线视频| xxxx欧美18另类的高清| 日韩在线视频一区| 欧美三级欧美成人高清www| 亚洲美女视频网站| 欧美另类99xxxxx| 亚洲人永久免费| 国产精品丝袜白浆摸在线| y97精品国产97久久久久久| 97视频在线免费观看| 中文字幕亚洲一区在线观看| 一区二区三区视频免费| 日韩精品久久久久久福利| 一区二区三区天堂av| 成人精品视频99在线观看免费| 97**国产露脸精品国产| 欧美激情一二区| 免费不卡在线观看av| 日韩av在线免费观看| 亚洲欧美在线一区二区| 这里只有精品丝袜| 亚洲a区在线视频| 91欧美视频网站| 欧美成人精品不卡视频在线观看| 久久精品国产亚洲一区二区| 久久天天躁夜夜躁狠狠躁2022| 亚洲国产精品一区二区久| 久久国产精品偷| 久久精品小视频| 国产日韩在线看| 国产精品自拍视频| 欧美电影在线观看网站| 欧美日韩美女在线| 欧美成人免费在线视频| 久久久久久香蕉网| 91精品国产综合久久香蕉最新版| 亚洲欧美在线播放| 亚洲第一精品夜夜躁人人躁| 国产亚洲欧洲高清| 精品国产91久久久久久老师| 国产激情999| 欧美国产日韩xxxxx| 日韩在线不卡视频| 国产精品扒开腿做爽爽爽男男| 精品欧美国产一区二区三区| 日韩精品999| 国产xxx69麻豆国语对白| 97欧美精品一区二区三区| 国产精品一区二区三区久久| 亚洲成色www8888| 久久99亚洲热视| 色婷婷**av毛片一区| 日本视频久久久| 日韩av在线最新| 精品人伦一区二区三区蜜桃免费| 久青草国产97香蕉在线视频| 自拍偷拍亚洲欧美| 一区二区中文字幕| 亚洲色图综合久久| 国产精品美乳在线观看| 不卡伊人av在线播放| 亚洲人成亚洲人成在线观看| 欧美国产日本在线| 色偷偷偷综合中文字幕;dd| 亚洲国产精品久久| 国产精品极品尤物在线观看| 欧美成人免费全部| 亚洲伊人成综合成人网| 97精品伊人久久久大香线蕉| 一本一本久久a久久精品牛牛影视| 91久久综合亚洲鲁鲁五月天| 久久久精品中文字幕| 日韩激情片免费| 伊人成人开心激情综合网| 欧美精品手机在线| 亚洲国产精品免费|