[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