apisix core.log的使用

2023-02-27 14:01:13 浏览数 (1)

core.log 是对openresty ngx.log的封装,主要是log级别由参数变为了级别对应的方法 ngx.log的用法是

代码语言:javascript复制
ngx.log(log_level,log_str)

比如

代码语言:javascript复制
ngx.log(ngx.ERR,"hello world")

转化为core.log之后,ngx.ERR 改为了core.log.error。因此示例为:

代码语言:javascript复制
core.log.error("hello world")

从apisix 源码中可以看到所有log 级别如下,其中左侧的key为core.log 的级别方法,右侧的为对应的openresty对应的级别参数

代码语言:javascript复制
local log_levels = {
    stderr = ngx.STDERR,
    emerg  = ngx.EMERG,
    alert  = ngx.ALERT,
    crit   = ngx.CRIT,
    error  = ngx.ERR,
    warn   = ngx.WARN,
    notice = ngx.NOTICE,
    info   = ngx.INFO,
    debug  = ngx.DEBUG,
}

因此core.log 所有日志方法为

代码语言:javascript复制
core.log.stderr(log_str)
core.log.emerg(log_str)
core.log.alert(log_str)
core.log.crit(log_str)
core.log.error(log_str)
core.log.warn(log_str)
core.log.notice(log_str)
core.log.info(log_str)
core.log.debug(log_str)

0 人点赞