From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) (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 29509469710 for ; Tue, 2 Jun 2020 01:25:12 +0300 (MSK) Received: by mail-lj1-f194.google.com with SMTP id e4so10182357ljn.4 for ; Mon, 01 Jun 2020 15:25:12 -0700 (PDT) From: Cyrill Gorcunov Date: Tue, 2 Jun 2020 01:24:56 +0300 Message-Id: <20200601222507.560415-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v7 00/11] 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. 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 branch gorcunov/gh-689-logger-7 issue https://github.com/tarantool/tarantool/issues/689 Cyrill Gorcunov (11): 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: use direct log module log/lua: allow to specify logging level as a string lua/log: use log_cfg instead of ffi's instances src/box/lua/load_cfg.lua | 26 +++- src/lib/core/say.c | 15 +- src/lib/core/say.h | 4 + src/lua/log.lua | 272 ++++++++++++++++++++++++++++++++--- test/app-tap/logger.test.lua | 86 ++++++++++- 5 files changed, 370 insertions(+), 33 deletions(-) -- 2.26.2