From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp5.mail.ru (smtp5.mail.ru [94.100.179.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id F0494469710 for ; Wed, 3 Jun 2020 09:59:26 +0300 (MSK) References: <20200602221817.645015-1-gorcunov@gmail.com> From: Oleg Babin Message-ID: Date: Wed, 3 Jun 2020 09:59:24 +0300 MIME-Version: 1.0 In-Reply-To: <20200602221817.645015-1-gorcunov@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH v8 00/12] lua/log: add an ability to setup logger without box.cfg{} List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Cyrill Gorcunov , tml 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(-) >