diff --git a/.env.example b/.env.example index c921fe0..bb13cfe 100644 --- a/.env.example +++ b/.env.example @@ -1,6 +1,8 @@ # OpenAI support (required) OPENAI_API_KEY=sk-proj-qwertya +# LOG_LEVEL=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..19072e6 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,20 @@ Running as a service to automatically process issues: ## Configuration +### Logging + +DeepNext uses the `LOG_LEVEL` environment variable to control logging verbosity. +By default, logging is set to `INFO` level. You can change this by setting +`LOG_LEVEL` in your `.env` file to one of: `DEBUG`, `INFO`, `WARNING`, `ERROR`, etc. + +Example: +```env +LOG_LEVEL=DEBUG +``` + +This affects all log output from DeepNext, making it easy to increase or decrease +verbosity as needed. + 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..5571576 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 load_monorepo_dotenv() + setup_logging() main() diff --git a/apps/app/deep_next/app/entrypoint_scheduled.py b/apps/app/deep_next/app/entrypoint_scheduled.py index 97d4666..83bc904 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 load_monorepo_dotenv() + setup_logging() cli() diff --git a/libs/common/deep_next/common/common.py b/libs/common/deep_next/common/common.py index 7486d8d..04a388e 100644 --- a/libs/common/deep_next/common/common.py +++ b/libs/common/deep_next/common/common.py @@ -1,9 +1,19 @@ +import os +import sys import textwrap from dotenv import load_dotenv from loguru import logger +def setup_logging() -> None: + """Configures Loguru logging level from LOG_LEVEL env variable.""" + log_level = os.environ.get("LOG_LEVEL", "INFO").upper() + logger.remove() + logger.add(sys.stdout, level=log_level) + logger.debug(f"Loguru configured with LOG_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..482e180 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 load_monorepo_dotenv() + setup_logging() cli()