From: Dmitry Volyntsev Date: Tue, 13 Dec 2022 05:55:47 +0000 (-0800) Subject: Modules: fixed nginx logger callback for calls in master. X-Git-Tag: 0.7.10~28 X-Git-Url: http://www.kaiwu.me/postgresql/commit/?a=commitdiff_plain;h=885e2d1688d4dac83aad5bf95340d756178551a0;p=njs.git Modules: fixed nginx logger callback for calls in master. --- diff --git a/nginx/ngx_js.c b/nginx/ngx_js.c index 7a816498..52428229 100644 --- a/nginx/ngx_js.c +++ b/nginx/ngx_js.c @@ -376,16 +376,30 @@ 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_log_t *log; ngx_connection_t *c; ngx_log_handler_pt handler; - c = ngx_external_connection(vm, external); - handler = c->log->handler; - c->log->handler = NULL; + handler = NULL; - ngx_log_error((ngx_uint_t) level, c->log, 0, "js: %*s", length, start); + if (external != NULL) { + c = ngx_external_connection(vm, external); + log = c->log; + handler = log->handler; + log->handler = NULL; - c->log->handler = handler; + } else { + + /* Logger was called during init phase. */ + + log = ngx_cycle->log; + } + + ngx_log_error((ngx_uint_t) level, log, 0, "js: %*s", length, start); + + if (external != NULL) { + log->handler = handler; + } }