From: Dmitry Volyntsev Date: Thu, 29 Mar 2018 13:38:02 +0000 (+0300) Subject: Added additional log routines for different nginx log levels. X-Git-Tag: 0.2.0~11 X-Git-Url: http://git.kaiwu.me/postgresql/log/contrib/postgres_fdw/static/gitweb.js?a=commitdiff_plain;h=ab1776c1e5d7a3bbb605a17a7a893d6ae9dad909;p=njs.git Added additional log routines for different nginx log levels. warn(), error(). --- diff --git a/nginx/ngx_http_js_module.c b/nginx/ngx_http_js_module.c index ea4d9609..ed43fda3 100644 --- a/nginx/ngx_http_js_module.c +++ b/nginx/ngx_http_js_module.c @@ -89,8 +89,16 @@ static njs_ret_t ngx_http_js_ext_send(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); static njs_ret_t ngx_http_js_ext_finish(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); + static njs_ret_t ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_warn(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_error(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_http_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, ngx_uint_t level); + static njs_ret_t ngx_http_js_ext_get_http_version(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); static njs_ret_t ngx_http_js_ext_get_remote_address(njs_vm_t *vm, @@ -287,18 +295,6 @@ static njs_external_t ngx_http_js_ext_response[] = { static njs_external_t ngx_http_js_ext_request[] = { - { nxt_string("log"), - NJS_EXTERN_METHOD, - NULL, - 0, - NULL, - NULL, - NULL, - NULL, - NULL, - ngx_http_js_ext_log, - 0 }, - { nxt_string("uri"), NJS_EXTERN_PROPERTY, NULL, @@ -406,6 +402,42 @@ static njs_external_t ngx_http_js_ext_request[] = { NULL, ngx_http_js_ext_subrequest, 0 }, + + { nxt_string("log"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_log, + 0 }, + + { nxt_string("warn"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_warn, + 0 }, + + { nxt_string("error"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_http_js_ext_error, + 0 }, }; @@ -1225,6 +1257,30 @@ ngx_http_js_ext_finish(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, static njs_ret_t ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused) +{ + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_INFO); +} + + +static njs_ret_t +ngx_http_js_ext_warn(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_WARN); +} + + +static njs_ret_t +ngx_http_js_ext_error(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_http_js_ext_log_core(vm, args, nargs, NGX_LOG_ERR); +} + + +static njs_ret_t +ngx_http_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + ngx_uint_t level) { nxt_str_t msg; ngx_connection_t *c; @@ -1243,7 +1299,7 @@ ngx_http_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, handler = c->log->handler; c->log->handler = NULL; - ngx_log_error(NGX_LOG_INFO, c->log, 0, "js: %*s", msg.length, msg.start); + ngx_log_error(level, c->log, 0, "js: %*s", msg.length, msg.start); c->log->handler = handler; diff --git a/nginx/ngx_stream_js_module.c b/nginx/ngx_stream_js_module.c index 4890179c..97d5f145 100644 --- a/nginx/ngx_stream_js_module.c +++ b/nginx/ngx_stream_js_module.c @@ -63,8 +63,16 @@ static njs_ret_t ngx_stream_js_ext_get_buffer(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); static njs_ret_t ngx_stream_js_ext_set_buffer(njs_vm_t *vm, void *obj, uintptr_t data, nxt_str_t *value); - static njs_ret_t ngx_stream_js_ext_log(njs_vm_t *vm, njs_value_t *args, + +static njs_ret_t ngx_stream_js_ext_log(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_stream_js_ext_warn(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_stream_js_ext_error(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused); +static njs_ret_t ngx_stream_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, + nxt_uint_t nargs, ngx_uint_t level); + static njs_ret_t ngx_stream_js_ext_get_variable(njs_vm_t *vm, njs_value_t *value, void *obj, uintptr_t data); static njs_ret_t ngx_stream_js_ext_get_code(njs_vm_t *vm, @@ -199,6 +207,19 @@ static njs_external_t ngx_stream_js_ext_session[] = { NULL, 0 }, + + { nxt_string("variables"), + NJS_EXTERN_OBJECT, + NULL, + 0, + ngx_stream_js_ext_get_variable, + NULL, + NULL, + NULL, + NULL, + NULL, + 0 }, + { nxt_string("log"), NJS_EXTERN_METHOD, NULL, @@ -211,16 +232,28 @@ static njs_external_t ngx_stream_js_ext_session[] = { ngx_stream_js_ext_log, 0 }, - { nxt_string("variables"), - NJS_EXTERN_OBJECT, + { nxt_string("warn"), + NJS_EXTERN_METHOD, NULL, 0, - ngx_stream_js_ext_get_variable, NULL, NULL, NULL, NULL, NULL, + ngx_stream_js_ext_warn, + 0 }, + + { nxt_string("error"), + NJS_EXTERN_METHOD, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + ngx_stream_js_ext_error, 0 }, { nxt_string("OK"), @@ -824,6 +857,30 @@ ngx_stream_js_ext_set_buffer(njs_vm_t *vm, void *obj, uintptr_t data, static njs_ret_t ngx_stream_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, njs_index_t unused) +{ + return ngx_stream_js_ext_log_core(vm, args, nargs, NGX_LOG_INFO); +} + + +static njs_ret_t +ngx_stream_js_ext_warn(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_stream_js_ext_log_core(vm, args, nargs, NGX_LOG_WARN); +} + + +static njs_ret_t +ngx_stream_js_ext_error(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + njs_index_t unused) +{ + return ngx_stream_js_ext_log_core(vm, args, nargs, NGX_LOG_ERR); +} + + +static njs_ret_t +ngx_stream_js_ext_log_core(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, + ngx_uint_t level) { nxt_str_t msg; ngx_connection_t *c; @@ -842,7 +899,7 @@ ngx_stream_js_ext_log(njs_vm_t *vm, njs_value_t *args, nxt_uint_t nargs, handler = c->log->handler; c->log->handler = NULL; - ngx_log_error(NGX_LOG_INFO, c->log, 0, "js: %*s", msg.length, msg.start); + ngx_log_error(level, c->log, 0, "js: %*s", msg.length, msg.start); c->log->handler = handler;