From fc98c560a44fc4e9a4be6ec46f18938ee70dac45 Mon Sep 17 00:00:00 2001 From: pablodanswer Date: Fri, 13 Sep 2024 11:27:20 -0700 Subject: [PATCH] Add fix for logging (#2431) --- backend/Dockerfile | 3 ++- backend/Dockerfile.model_server | 5 ++++- backend/danswer/utils/logger.py | 9 ++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index fc7bcc586d..a9dd411c69 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -9,7 +9,8 @@ founders@danswer.ai for more information. Please visit https://github.com/danswe # Default DANSWER_VERSION, typically overriden during builds by GitHub Actions. ARG DANSWER_VERSION=0.3-dev -ENV DANSWER_VERSION=${DANSWER_VERSION} +ENV DANSWER_VERSION=${DANSWER_VERSION} \ + DANSWER_RUNNING_IN_DOCKER="true" RUN echo "DANSWER_VERSION: ${DANSWER_VERSION}" # Install system dependencies diff --git a/backend/Dockerfile.model_server b/backend/Dockerfile.model_server index f2fb1ca44d..edfe85e022 100644 --- a/backend/Dockerfile.model_server +++ b/backend/Dockerfile.model_server @@ -8,7 +8,10 @@ visit https://github.com/danswer-ai/danswer." # Default DANSWER_VERSION, typically overriden during builds by GitHub Actions. ARG DANSWER_VERSION=0.3-dev -ENV DANSWER_VERSION=${DANSWER_VERSION} +ENV DANSWER_VERSION=${DANSWER_VERSION} \ + DANSWER_RUNNING_IN_DOCKER="true" + + RUN echo "DANSWER_VERSION: ${DANSWER_VERSION}" COPY ./requirements/model_server.txt /tmp/requirements.txt diff --git a/backend/danswer/utils/logger.py b/backend/danswer/utils/logger.py index 5436b23289..96d4ae2a25 100644 --- a/backend/danswer/utils/logger.py +++ b/backend/danswer/utils/logger.py @@ -124,6 +124,13 @@ def get_standard_formatter() -> ColoredFormatter: ) +DANSWER_DOCKER_ENV_STR = "DANSWER_RUNNING_IN_DOCKER" + + +def is_running_in_container() -> bool: + return os.getenv(DANSWER_DOCKER_ENV_STR) == "true" + + def setup_logger( name: str = __name__, log_level: int = get_log_level_from_str(), @@ -151,7 +158,7 @@ def setup_logger( uvicorn_logger.addHandler(handler) uvicorn_logger.setLevel(log_level) - is_containerized = os.path.exists("/.dockerenv") + is_containerized = is_running_in_container() if LOG_FILE_NAME and (is_containerized or DEV_LOGGING_ENABLED): log_levels = ["debug", "info", "notice"] for level in log_levels: