From 27d8d6054e69870471ece358ebca885d26ffd91f Mon Sep 17 00:00:00 2001 From: DeepNext Date: Fri, 26 Sep 2025 11:35:48 +0000 Subject: [PATCH 1/2] chore: empty commit to initialize MR From ca4e456f6037d74bf4d9b19131289f58e2f70c6f Mon Sep 17 00:00:00 2001 From: DeepNext Date: Fri, 26 Sep 2025 12:17:52 +0000 Subject: [PATCH 2/2] DeepNext resolves #172: [DeepNext] Resolve issue #165: Make logging by default on INFO level --- .env.example | 3 +++ README.md | 9 +++++++++ apps/app/deep_next/app/entrypoint.py | 3 ++- apps/app/deep_next/app/entrypoint_scheduled.py | 3 ++- libs/common/deep_next/common/common.py | 8 ++++++++ libs/core/deep_next/core/entrypoint.py | 3 ++- 6 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index c921fe0..2e464d0 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,9 @@ # OpenAI support (required) OPENAI_API_KEY=sk-proj-qwertya +# Logging configuration +# LOG_LEVEL=INFO # Controls log verbosity: DEBUG, INFO, WARNING, ERROR. Defaults to INFO. + # VCS connector setup (required to connect core pipeline with VCS) #VCS_PROVIDER=github #VCS_ACCESS_TOKEN= diff --git a/README.md b/README.md index 43a71cc..276a7d4 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,15 @@ Running as a service to automatically process issues: ## Configuration +### Logging + +You can control the verbosity of DeepNext logs using the `LOG_LEVEL` environment variable in your `.env` file. Supported values are: `DEBUG`, `INFO`, `WARNING`, `ERROR`. If not set, the default log level is `INFO`. + +Example: +```env +LOG_LEVEL=DEBUG +``` + DeepNext supports multiple LLM providers: - OpenAI - AWS Bedrock (Claude, Mistral, and others) diff --git a/apps/app/deep_next/app/entrypoint.py b/apps/app/deep_next/app/entrypoint.py index 1933a8d..3a7ecfa 100644 --- a/apps/app/deep_next/app/entrypoint.py +++ b/apps/app/deep_next/app/entrypoint.py @@ -155,8 +155,9 @@ def main() -> None: if __name__ == "__main__": - from deep_next.common.common import load_monorepo_dotenv + from deep_next.common.common import load_monorepo_dotenv, setup_logging_from_env load_monorepo_dotenv() + setup_logging_from_env() main() diff --git a/apps/app/deep_next/app/entrypoint_scheduled.py b/apps/app/deep_next/app/entrypoint_scheduled.py index 97d4666..cf08b34 100644 --- a/apps/app/deep_next/app/entrypoint_scheduled.py +++ b/apps/app/deep_next/app/entrypoint_scheduled.py @@ -41,8 +41,9 @@ def cli(interval_s: int): if __name__ == "__main__": - from deep_next.common.common import load_monorepo_dotenv + from deep_next.common.common import load_monorepo_dotenv, setup_logging_from_env load_monorepo_dotenv() + setup_logging_from_env() cli() diff --git a/libs/common/deep_next/common/common.py b/libs/common/deep_next/common/common.py index 7486d8d..739b7fd 100644 --- a/libs/common/deep_next/common/common.py +++ b/libs/common/deep_next/common/common.py @@ -1,9 +1,17 @@ import textwrap +import os from dotenv import load_dotenv from loguru import logger +def setup_logging_from_env() -> None: + """Configures loguru logger level from LOG_LEVEL env var (default: INFO).""" + log_level = os.environ.get("LOG_LEVEL", "INFO").upper() + logger.remove() + logger.add(lambda msg: print(msg, end=""), level=log_level) + + def load_monorepo_dotenv() -> None: """Loads the .env file from the monorepo root.""" from deep_next.common.config import MONOREPO_ROOT_PATH diff --git a/libs/core/deep_next/core/entrypoint.py b/libs/core/deep_next/core/entrypoint.py index 230ba42..3428dd8 100644 --- a/libs/core/deep_next/core/entrypoint.py +++ b/libs/core/deep_next/core/entrypoint.py @@ -122,8 +122,9 @@ def cli( if __name__ == "__main__": - from deep_next.common.common import load_monorepo_dotenv + from deep_next.common.common import load_monorepo_dotenv, setup_logging_from_env load_monorepo_dotenv() + setup_logging_from_env() cli()