]> git.kaiwu.me - njs.git/commitdiff
Added additional log routines for different nginx log levels.
authorDmitry Volyntsev <xeioex@nginx.com>
Thu, 29 Mar 2018 13:38:02 +0000 (16:38 +0300)
committerDmitry Volyntsev <xeioex@nginx.com>
Thu, 29 Mar 2018 13:38:02 +0000 (16:38 +0300)
warn(), error().

nginx/ngx_http_js_module.c
nginx/ngx_stream_js_module.c

index ea4d9609f0a0f683823b720282a3931d1a47cf93..ed43fda35dacb29356c329c4c4c9add1c22a0cc6 100644 (file)
@@ -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;
 
index 4890179c1cf1ceaa1298d675266370d61338b8c9..97d5f1452979b0a46990388e58a1adbd07afe9b7 100644 (file)
@@ -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;