[Tarantool-patches] [PATCH v8 00/12] lua/log: add an ability to setup logger without box.cfg{}
Oleg Babin
olegrok at tarantool.org
Wed Jun 3 09:59:24 MSK 2020
Hi! Thanks for your patchset. I've found another example of
inconsistency between log.cfg and box.cfg:
```
Tarantool 2.5.0-91-ga70675e0e
type 'help' for interactive help
tarantool> box.cfg{log = ''}
2020-06-03 09:57:50.356 [54011] main/103/interactive C> Tarantool
2.5.0-91-ga70675e0e
2020-06-03 09:57:50.357 [54011] main/103/interactive C> log level 5
...
2020-06-03 09:57:50.408 [54011] main/103/interactive I> set 'log_level'
configuration option to 5
2020-06-03 09:57:50.408 [54011] main/105/checkpoint_daemon I> scheduled
next checkpoint for Wed Jun 3 11:45:13 2020
2020-06-03 09:57:50.408 [54011] main/103/interactive I> set 'log_format'
configuration option to "plain"
```
And
```
Tarantool 2.5.0-91-ga70675e0e
type 'help' for interactive help
tarantool> log = require('log')
---
...
tarantool> log.cfg({log = ''})
SystemError can't open log file: /Users/o.babin/Projects/tarantool/: Is
a directory
failed to initialize logging subsystem
```
On 03/06/2020 01:18, Cyrill Gorcunov wrote:
> In the series we add an ability to configure logger early
> without calling box.cfg{}. The syntax is the same as
> in box.cfg{} call.
>
> There was an idea to implement something similar via triggers but
> I think this will require a way more efforts and code redesign,
> so at first lets stick to simplier solution.
>
> Guys, please don't Ack/LGTM the messages which already have Reviewed-by tags.
> Hopefully this is the last series and code is ready for merging. Though
> I should confess I dont like it much even this "simple" solution looks
> too complex.
>
> v2 by Oleg:
> - hide box_api symbols from users
> - initialize logger via log.cfg() call to look similar to box.cfg
> v3 by Oleg:
> - add parametesr verification
> - allow to reconfig via log.cfg() call
> v4 by Oleg:
> - lua style fixes
> - extent test (I didn't find a way to test wrong params verification
> inside tap test, so I did it manually. Still we might extent the
> test on top of the series).
> v5..v6:
> - left for internal use
> v7 by Oleg and Leonid:
> - add bidirectional sync between log and box settings
> - symbolic names for levels
> - test extension
> - reduce ffi usage
> v7 by Oleg:
> - add verification for `log` being immutable once set via
> box or log interface
> - more precise check for dynamic configs
> - test enhansion for new cases
>
> branch gorcunov/gh-689-logger-8
> issue https://github.com/tarantool/tarantool/issues/689
>
> Cyrill Gorcunov (12):
> core/say: do not reconfig early set up logger
> core/say: use say_logger_initialized in say_logger_free
> lua/log: declare say_logger_init and say_logger_initialized
> lua/log: put string constants to map
> lua/log: do not allow to set json for boot logger
> lua/log: declare log as separate variable
> lua/log: use log module settings inside box.cfg
> lua/log: allow to configure logging without a box
> test: logger -- use log module directly
> log/lua: allow to specify logging level as a string
> lua/log: use log_cfg instead of ffi's instances
> test: logger -- consider more cases
>
> src/box/lua/load_cfg.lua | 35 ++++-
> src/lib/core/say.c | 15 +-
> src/lib/core/say.h | 4 +
> src/lua/log.lua | 297 ++++++++++++++++++++++++++++++++---
> test/app-tap/logger.test.lua | 100 +++++++++++-
> 5 files changed, 418 insertions(+), 33 deletions(-)
>
More information about the Tarantool-patches
mailing list