Skip to content

Commit 15cc1c2

Browse files
authored
Merge pull request #24 from p0pr0ck5/msg_len
optimization: dont calculate msg length more than necessary
2 parents 76d3f46 + 002daa5 commit 15cc1c2

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

lib/resty/logger/socket.lua

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -361,11 +361,11 @@ local function _flush_buffer()
361361
end
362362
end
363363

364-
local function _write_buffer(msg)
364+
local function _write_buffer(msg, len)
365365
log_buffer_index = log_buffer_index + 1
366366
log_buffer_data[log_buffer_index] = msg
367367

368-
buffer_size = buffer_size + #msg
368+
buffer_size = buffer_size + len
369369

370370

371371
return buffer_size
@@ -505,28 +505,28 @@ function _M.log(msg)
505505
msg = tostring(msg)
506506
end
507507

508+
local msg_len = #msg
509+
508510
if (debug) then
509511
ngx.update_time()
510-
ngx_log(DEBUG, ngx.now(), ":log message length: " .. #msg)
512+
ngx_log(DEBUG, ngx.now(), ":log message length: " .. msg_len)
511513
end
512514

513-
local msg_len = #msg
514-
515515
-- response of "_flush_buffer" is not checked, because it writes
516516
-- error buffer
517517
if (is_exiting()) then
518518
exiting = true
519-
_write_buffer(msg)
519+
_write_buffer(msg, msg_len)
520520
_flush_buffer()
521521
if (debug) then
522522
ngx_log(DEBUG, "Nginx worker is exiting")
523523
end
524524
bytes = 0
525525
elseif (msg_len + buffer_size < flush_limit) then
526-
_write_buffer(msg)
526+
_write_buffer(msg, msg_len)
527527
bytes = msg_len
528528
elseif (msg_len + buffer_size <= drop_limit) then
529-
_write_buffer(msg)
529+
_write_buffer(msg, msg_len)
530530
_flush_buffer()
531531
bytes = msg_len
532532
else

0 commit comments

Comments
 (0)