From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 87F99469710 for ; Wed, 3 Jun 2020 01:18:22 +0300 (MSK) Received: by mail-lj1-f178.google.com with SMTP id a25so227340ljp.3 for ; Tue, 02 Jun 2020 15:18:22 -0700 (PDT) From: Cyrill Gorcunov Date: Wed, 3 Jun 2020 01:18:05 +0300 Message-Id: <20200602221817.645015-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [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: tml 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(-) -- 2.26.2