aboutsummaryrefslogtreecommitdiff
path: root/nginx/ngx_http_js_module.c
diff options
context:
space:
mode:
authorDmitry Volyntsev <xeioex@nginx.com>2018-03-29 16:38:02 +0300
committerDmitry Volyntsev <xeioex@nginx.com>2018-03-29 16:38:02 +0300
commitab1776c1e5d7a3bbb605a17a7a893d6ae9dad909 (patch)
tree142b0cef29801c1a1f2a9b67cf8cb06973dd418c /nginx/ngx_http_js_module.c
parent99377ed5fce52563b87b2207430724f0a259357f (diff)
downloadnjs-ab1776c1e5d7a3bbb605a17a7a893d6ae9dad909.tar.gz
njs-ab1776c1e5d7a3bbb605a17a7a893d6ae9dad909.zip
Added additional log routines for different nginx log levels.
warn(), error().
Diffstat (limited to 'nginx/ngx_http_js_module.c')
-rw-r--r--nginx/ngx_http_js_module.c82
1 files changed, 69 insertions, 13 deletions
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 },
};
@@ -1226,6 +1258,30 @@ 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;
ngx_log_handler_pt handler;
@@ -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;