[Tarantool-patches] [PATCH v4 7/8] lua/log: allow to configure logging without a box

Cyrill Gorcunov gorcunov at gmail.com
Fri May 29 13:07:36 MSK 2020


On Fri, May 29, 2020 at 11:41:41AM +0300, Leonid Vasiliev wrote:
> > +local function fmt_list()
> > +    local keyset = {}
> > +    for k in pairs(fmt_str2num) do
> > +        keyset[#keyset + 1] = k
> > +    end
> > +    return table.concat(keyset, ',')
> > +end
> 
> Can this be moved to "lua/log: put string constants to map"?

It will be unused there because only in this patch we start
to print the complete list.

> > +--
> > +-- Load or reload configuration via log.cfg({})
> > +--
> > +-- The syntax is the same as for box.cfg({}).
> > +local function load_cfg(oldcfg, cfg)
> 
> oldcfg - unused argument. I think Sergey will be upset.
> https://github.com/tarantool/tarantool/issues/4681

As far as I understand it is __call semantic, no? IOW,
it is passed when log.cfg{} called as a function.

> >       --
> >       -- Internal API to box module, not for users,
> >       -- names can be changed.
> >       box_api = {
> > -        cfg = log_cfg,
> >           set_log_level = function()
> >               log_level(box.cfg.log_level)
> >           end,
> >           set_log_format = function()
> >               log_format(box.cfg.log_format)
> >           end,
> > +        cfg_apply_default = box_cfg_apply_default,
> > +        cfg_update = box_cfg_update,
> >       },
> 
> Why should we have a special box_module API?
> Maybe we can do all box.cfg dirty stuff in load_cfg.lua.

If you mean to modify log.cfg inside load_cfg.lua directly,
I think it is a bad idea. The variables of a separate module
must never be touched straightforward, this will make code
less maintainable.

> >   }
> > 
> Is it ok and we shouldn't use log.cfg() after box.cfg()?
> 
> └──╼ tarantool
> [70/1585]
> Tarantool 2.5.0-90-g39a946b
> type 'help' for interactive help
> tarantool> log = require("log")
> ---
> ...
> 
> tarantool> box.cfg{log_level = 3}
> 2020-05-29 11:33:09.901 [6926] main/103/interactive C> Tarantool
> 2.5.0-90-g39a946b
> 2020-05-29 11:33:09.901 [6926] main/103/interactive C> log level 3
> 2020-05-29 11:33:09.974 [6926] main/103/interactive C> leaving orphan mode
...

Thanks, will take a look.


More information about the Tarantool-patches mailing list