From 49be31b4e831ab2513c44993460d625af4c2f580 Mon Sep 17 00:00:00 2001 From: Facundo Guerrero Date: Tue, 19 Dec 2023 11:52:38 +0100 Subject: [PATCH] Allow to set different log level --- trino/logging.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/trino/logging.py b/trino/logging.py index 866c3e92..1e5a4f71 100644 --- a/trino/logging.py +++ b/trino/logging.py @@ -11,12 +11,21 @@ # limitations under the License. import logging +import os +from typing import Optional -LEVEL = logging.INFO +_level = os.environ.get('TRINO_LOGLEVEL', 'INFO') +if _level.upper() == _level and hasattr(logging, _level) and isinstance(getattr(logging, _level), int): + LEVEL = getattr(logging, _level) +elif _level == 'NONE': + LEVEL = None +else: + LEVEL = logging.INFO # TODO: provide interface to use ``logging.dictConfig`` -def get_logger(name: str, log_level: int = LEVEL) -> logging.Logger: +def get_logger(name: str, log_level: Optional[int] = LEVEL) -> logging.Logger: logger = logging.getLogger(name) - logger.setLevel(log_level) + if log_level is not None: + logger.setLevel(log_level) return logger