diff options
author | Dmitry Volyntsev <xeioex@nginx.com> | 2022-07-25 18:40:24 -0700 |
---|---|---|
committer | Dmitry Volyntsev <xeioex@nginx.com> | 2022-07-25 18:40:24 -0700 |
commit | 5e0434747e3b93e04c661f90dee8ef22e190be22 (patch) | |
tree | 6f3eadb63fb8489b5e7ca8a654397d8e94faf86a /nginx/ngx_js.c | |
parent | 9480746fb1246de9e0dff3529c99704bfa938f24 (diff) | |
download | njs-5e0434747e3b93e04c661f90dee8ef22e190be22.tar.gz njs-5e0434747e3b93e04c661f90dee8ef22e190be22.zip |
Added generic logger callback.
This allows for a host environment to control when and
how internal NJS messages are logged.
Diffstat (limited to 'nginx/ngx_js.c')
-rw-r--r-- | nginx/ngx_js.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 6799b182..903d51f2 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -318,3 +318,18 @@ ngx_js_ext_log(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, } +void +ngx_js_logger(njs_vm_t *vm, njs_external_ptr_t external, njs_log_level_t level, + const u_char *start, size_t length) +{ + ngx_connection_t *c; + ngx_log_handler_pt handler; + + c = ngx_external_connection(vm, external); + handler = c->log->handler; + c->log->handler = NULL; + + ngx_log_error((ngx_uint_t) level, c->log, 0, "js: %*s", length, start); + + c->log->handler = handler; +} |