[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