[Tarantool-patches] [PATCH] lua/log: accept symbolic logging levels
Serge Petrenko
sergepetrenko at tarantool.org
Wed May 26 14:04:44 MSK 2021
07.05.2021 14:13, Cyrill Gorcunov via Tarantool-patches пишет:
> Currently `log` module accepts only numeric values of
> logging levels. I turn `box.cfg` interface supports
> symbolic names (such as 'fatat', 'crit' and etc).
>
> Thus we should support the same in `log` module.
>
> Closes #5882
>
> Reported-by: Alexander Turenko <alexander.turenko at tarantool.org>
> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
> ---
> issue https://github.com/tarantool/tarantool/issues/5882
> branch gorcunov/gh-5882-logger-strings
>
> changelogs/unreleased/gh-5882-log-levels.md | 13 +++++++++++++
> src/lua/log.lua | 6 ++++++
> 2 files changed, 19 insertions(+)
> create mode 100644 changelogs/unreleased/gh-5882-log-levels.md
>
> diff --git a/changelogs/unreleased/gh-5882-log-levels.md b/changelogs/unreleased/gh-5882-log-levels.md
> new file mode 100644
> index 000000000..08f9595be
> --- /dev/null
> +++ b/changelogs/unreleased/gh-5882-log-levels.md
> @@ -0,0 +1,13 @@
> +## feature/lua/log
> +
> + * Implemented support of symbolic log levels representation
> + in `log` module (gh-5882). Now it is possible to specify
> + levels the same way as in `box.cfg{}` call. For example
> + instead of
> + ``` Lua
> + require('log').cfg{level = 6}
> + ```
> + One can use
> + ``` Lua
> + require('log').cfg{level = 'verbose'}
> + ```
> diff --git a/src/lua/log.lua b/src/lua/log.lua
> index 62ea61f2d..788560722 100644
> --- a/src/lua/log.lua
> +++ b/src/lua/log.lua
> @@ -499,6 +499,12 @@ local function load_cfg(self, cfg)
> local m = "log.cfg: \'%s\' %s"
> error(m:format('level', msg))
> end
> + -- Convert level to a numeric value since
> + -- low level api operates with numbers only.
> + if type(cfg.level) == 'string' then
> + assert(log_level_keys[cfg.level] ~= nil)
> + cfg.level = log_level_keys[cfg.level]
> + end
> end
>
> if cfg.nonblock ~= nil then
Hi! Thanks for the patch!
LGTM.
--
Serge Petrenko
More information about the Tarantool-patches
mailing list