diff --git a/great_ai/src/great_ai/__main__.py b/great_ai/src/great_ai/__main__.py index 6f6da92..ff65916 100644 --- a/great_ai/src/great_ai/__main__.py +++ b/great_ai/src/great_ai/__main__.py @@ -9,9 +9,9 @@ from uvicorn.config import LOGGING_CONFIG from .great_ai.context import get_context from .great_ai.exceptions import MissingArgumentError from .parse_arguments import parse_arguments -from .utilities.logger import create_logger +from .utilities.logger import get_logger -logger = create_logger("GreatAI-Server") +logger = get_logger("GreatAI-Server") def main() -> None: diff --git a/great_ai/src/great_ai/great_ai/context/configure.py b/great_ai/src/great_ai/great_ai/context/configure.py index b76afa6..89ad750 100644 --- a/great_ai/src/great_ai/great_ai/context/configure.py +++ b/great_ai/src/great_ai/great_ai/context/configure.py @@ -5,7 +5,7 @@ from pathlib import Path import great_ai.great_ai.context.context as context from great_ai.open_s3 import LargeFile -from great_ai.utilities.logger import create_logger +from great_ai.utilities.logger import get_logger from ..constants import DEFAULT_TRACING_DB_FILENAME, ENV_VAR_KEY, PRODUCTION_KEY from ..persistence import ParallelTinyDbDriver, PersistenceDriver @@ -19,7 +19,7 @@ def configure( Path(DEFAULT_TRACING_DB_FILENAME) ), ) -> None: - logger = create_logger("great_ai", level=log_level) + logger = get_logger("great_ai", level=log_level) if context._context is not None: logger.warn( diff --git a/great_ai/src/great_ai/open_s3/__main__.py b/great_ai/src/great_ai/open_s3/__main__.py index 2d83500..113e3a2 100644 --- a/great_ai/src/great_ai/open_s3/__main__.py +++ b/great_ai/src/great_ai/open_s3/__main__.py @@ -2,12 +2,12 @@ from pathlib import Path -from great_ai.utilities.logger import create_logger +from great_ai.utilities.logger import get_logger from .large_file import LargeFile from .parse_arguments import parse_arguments -logger = create_logger("open_s3") +logger = get_logger("open_s3") def main() -> None: diff --git a/great_ai/src/great_ai/open_s3/large_file.py b/great_ai/src/great_ai/open_s3/large_file.py index b87ea4b..c773541 100644 --- a/great_ai/src/great_ai/open_s3/large_file.py +++ b/great_ai/src/great_ai/open_s3/large_file.py @@ -8,11 +8,11 @@ from typing import IO, Any, List, Mapping, Optional, Type, Union, cast import boto3 -from great_ai.utilities.logger import create_logger +from great_ai.utilities.logger import get_logger from .helper import DownloadProgressBar, UploadProgressBar, human_readable_to_byte -logger = create_logger("open_s3") +logger = get_logger("open_s3") class LargeFile: diff --git a/great_ai/src/great_ai/utilities/clean.py b/great_ai/src/great_ai/utilities/clean.py index 22200cf..378320b 100644 --- a/great_ai/src/great_ai/utilities/clean.py +++ b/great_ai/src/great_ai/utilities/clean.py @@ -6,9 +6,9 @@ import unidecode from .data import left_regular_punctuations, right_regular_punctuations from .external.pylatexenc.latex2text import LatexNodes2Text -from .logger.create_logger import create_logger +from .logger import get_logger -logger = create_logger("clean") +logger = get_logger("clean") latex = LatexNodes2Text() diff --git a/great_ai/src/great_ai/utilities/logger/__init__.py b/great_ai/src/great_ai/utilities/logger/__init__.py index 5b95aad..20f9099 100644 --- a/great_ai/src/great_ai/utilities/logger/__init__.py +++ b/great_ai/src/great_ai/utilities/logger/__init__.py @@ -1,2 +1,2 @@ -from .create_logger import create_logger from .custom_formatter import CustomFormatter +from .get_logger import get_logger diff --git a/great_ai/src/great_ai/utilities/logger/create_logger.py b/great_ai/src/great_ai/utilities/logger/create_logger.py deleted file mode 100644 index a5ae26c..0000000 --- a/great_ai/src/great_ai/utilities/logger/create_logger.py +++ /dev/null @@ -1,18 +0,0 @@ -import logging - -from .custom_formatter import CustomFormatter - - -def create_logger(name: str, level: int = logging.INFO) -> logging.Logger: - logger = logging.getLogger(name) - logger.setLevel(level) - - fmt = "%(asctime)s | %(levelname)8s | %(message)s" - - stdout_handler = logging.StreamHandler() - stdout_handler.setLevel(logging.DEBUG) - stdout_handler.setFormatter(CustomFormatter(fmt)) - - logger.addHandler(stdout_handler) - - return logger diff --git a/great_ai/src/great_ai/utilities/logger/get_logger.py b/great_ai/src/great_ai/utilities/logger/get_logger.py new file mode 100644 index 0000000..7f83634 --- /dev/null +++ b/great_ai/src/great_ai/utilities/logger/get_logger.py @@ -0,0 +1,23 @@ +import logging +from typing import Dict + +from .custom_formatter import CustomFormatter + +loggers: Dict[str, logging.Logger] = {} + + +def get_logger(name: str, level: int = logging.INFO) -> logging.Logger: + if name not in loggers: + logger = logging.getLogger(name) + logger.setLevel(level) + + fmt = "%(asctime)s | %(levelname)8s | %(message)s" + + stdout_handler = logging.StreamHandler() + stdout_handler.setLevel(logging.DEBUG) + stdout_handler.setFormatter(CustomFormatter(fmt)) + + logger.addHandler(stdout_handler) + loggers[name] = logger + + return loggers[name]