grep_error_log

使用正则表达式从错误日志中提取匹配内容,然后进行精确比较。

语法

--- grep_error_log 结合 --- grep_error_log_out 使用。前者指定提取模式,后者指定预期的提取结果。

perl
1=== TEST 1: grep error log
2--- config
3 location /t {
4 content_by_lua_block {
5 ngx.log(ngx.INFO, "phase: init")
6 ngx.log(ngx.INFO, "phase: run")
7 ngx.log(ngx.INFO, "phase: done")
8 ngx.say("ok")
9 }
10 }
11--- request
12GET /t
13--- grep_error_log eval
14qr/phase: \w+/
15--- grep_error_log_out
16phase: init
17phase: run
18phase: done

grep_error_log 非常适合按顺序验证日志中的事件序列,比如请求处理的各个阶段。