打印lua输出日志

日志级别:

  • ngx.STDERR 标准输出
  • ngx.EMERG 紧急报错
  • ngx.ALERT 报警
  • ngx.CRIT 严重,系统故障, 触发运维告警系统
  • ngx.ERR 错误,业务不可恢复性错误
  • ngx.WARN 提醒, 业务中可忽略错误
  • ngx.NOTICE 提醒, 业务中比较重要信息
  • ngx.INFO 信息, 业务琐碎日志信息, 包含不同情况判断等
  • ngx.DEBUG 调试

这些都是常量, 越往上等级越高。

函数原型 
ngx.log(level, ...) 
基本都是在content阶段使用 
示例 
ngx.log(ngx.ERR, "num:", num) 
ngx.log(ngx.INFO, " string:".. str)

注意:print语句是INFO级别

lua中日志完成了, 那如何设置日志格式,日志格式呢, 那就需要使用nginx本身的log_format 进行设置了

log_format 属于 ngx_http_log_module

示例:

log_format main 'remoteaddr−remote_user [timelocal]"request" ' 
'statusbody_bytes_sent "httpreferer"′'"http_user_agent" "$http_x_forwarded_for"';

这是我使用的日志格式

语法:

log_format name [escape=default|json|none] string ...;

默认的log_format 为

log_format combined 'remoteaddr−remote_user [timelocal]′'"request" statusbody_bytes_sent ' 
'"httpreferer""http_user_agent"';

现在开始设置日志输出level, 那如何设置日志级别呢, 那就需要使用nginx本身的error_log进行设置了,

error_log属于ngx_core_module

示例:

error_log logs/error.log error;

语法:

error_log file [level];

默认的error_log为

error_log logs/error.log error;

上下文为:

main, http, mail, stream, server, location

level 等级

debug, info, notice, warn, error, crit, alert, emerg

大于等于设置等级的日志均会被记录

若要设置debug level则在编译的时候添加--with-debug 即 ./configure --with-debug


因此,若要打印lua日志输出信息,因为lua日志输出信息中最大等级为info,所以我们也要设置error.log为info级别

即:

error_log /opt/app/openresty/nginx/logs/error.log info;
相关推荐
钱多多先森1 年前
【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6(数据预处理)
人工智能·pytorch·计算机视觉·lidc-idri·vnet·luna