[Tarantool-patches] [PATCH v7 05/11] lua/log: do not allow to set json for boot logger
Cyrill Gorcunov
gorcunov at gmail.com
Tue Jun 2 01:25:01 MSK 2020
For some reason we've missed that say_set_log_format
doesn't support json format not only for syslog but
for boottime logging as well.
Part-of #689
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
src/lua/log.lua | 7 +++++--
test/app-tap/logger.test.lua | 5 +++--
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/lua/log.lua b/src/lua/log.lua
index 94d8ca46c..d5a99076d 100644
--- a/src/lua/log.lua
+++ b/src/lua/log.lua
@@ -160,8 +160,11 @@ local function log_format(name)
end
if fmt_str2num[name] == ffi.C.SF_JSON then
- if ffi.C.log_type() == ffi.C.SAY_LOGGER_SYSLOG then
- error("log_format: 'json' can't be used with syslog logger")
+ if ffi.C.log_type() == ffi.C.SAY_LOGGER_SYSLOG or
+ ffi.C.log_type() == ffi.C.SAY_LOGGER_BOOT then
+ local m = "log_format: %s can't be used with " ..
+ "syslog or boot-time logger"
+ error(m:format(fmt_num2str[ffi.C.SF_JSON]))
end
ffi.C.say_set_log_format(ffi.C.SF_JSON)
else
diff --git a/test/app-tap/logger.test.lua b/test/app-tap/logger.test.lua
index 492d5ea0b..676c860d3 100755
--- a/test/app-tap/logger.test.lua
+++ b/test/app-tap/logger.test.lua
@@ -1,12 +1,13 @@
#!/usr/bin/env tarantool
local test = require('tap').test('log')
-test:plan(24)
+test:plan(25)
-- gh-3946: Assertion failure when using log_format() before box.cfg()
local log = require('log')
-log.log_format('json')
log.log_format('plain')
+_,err = pcall(log, {log_format = 'json'})
+test:ok(err ~= nil)
--
-- Check that Tarantool creates ADMIN session for #! script
--
2.26.2
More information about the Tarantool-patches
mailing list