From acb22b2212de5725e2de8f1b02b9791d7c8f72a3 Mon Sep 17 00:00:00 2001 From: Engel Nyst Date: Sun, 10 Nov 2024 11:37:09 +0100 Subject: [PATCH] override log level for debug to info --- README.md | 1 + docs/modules/usage/how-to/headless-mode.md | 1 + docs/modules/usage/installation.mdx | 1 + openhands/controller/agent_controller.py | 9 +++++++-- openhands/core/logger.py | 4 ++-- 5 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index da882d79bc0d..23b7c57d5a9e 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ docker run -it --pull=always \ -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.13-nikolaik \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 3000:3000 \ + -e LOG_ALL_EVENTS=true \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ docker.all-hands.dev/all-hands-ai/openhands:0.13 diff --git a/docs/modules/usage/how-to/headless-mode.md b/docs/modules/usage/how-to/headless-mode.md index d3fc1c2947c7..adba43e47468 100644 --- a/docs/modules/usage/how-to/headless-mode.md +++ b/docs/modules/usage/how-to/headless-mode.md @@ -49,6 +49,7 @@ docker run -it \ -e WORKSPACE_MOUNT_PATH=$WORKSPACE_BASE \ -e LLM_API_KEY=$LLM_API_KEY \ -e LLM_MODEL=$LLM_MODEL \ + -e LOG_ALL_EVENTS=true \ -v $WORKSPACE_BASE:/opt/workspace_base \ -v /var/run/docker.sock:/var/run/docker.sock \ --add-host host.docker.internal:host-gateway \ diff --git a/docs/modules/usage/installation.mdx b/docs/modules/usage/installation.mdx index c01c3f98997b..7a7f2c352b6d 100644 --- a/docs/modules/usage/installation.mdx +++ b/docs/modules/usage/installation.mdx @@ -17,6 +17,7 @@ docker run -it --rm --pull=always \ -e SANDBOX_RUNTIME_CONTAINER_IMAGE=docker.all-hands.dev/all-hands-ai/runtime:0.13-nikolaik \ -v /var/run/docker.sock:/var/run/docker.sock \ -p 3000:3000 \ + -e LOG_ALL_EVENTS=true \ --add-host host.docker.internal:host-gateway \ --name openhands-app \ docker.all-hands.dev/all-hands-ai/openhands:0.13 diff --git a/openhands/controller/agent_controller.py b/openhands/controller/agent_controller.py index 2ee30e130ca3..16881fb81dd2 100644 --- a/openhands/controller/agent_controller.py +++ b/openhands/controller/agent_controller.py @@ -1,5 +1,6 @@ import asyncio import copy +import os import traceback from typing import Callable, ClassVar, Type @@ -164,6 +165,10 @@ def log(self, level: str, message: str, extra: dict | None = None): Args: message (str): The message to log. """ + # override log level to 'info' if LOG_ALL_EVENTS is set and level is 'debug' + if os.getenv('LOG_ALL_EVENTS') in ('true', '1') and level.lower() == 'debug': + level = 'info' + message = f'[Agent Controller {self.id}] {message}' getattr(logger, level)(message, extra=extra, stacklevel=2) @@ -663,7 +668,7 @@ def _init_history(self): # sanity check if start_id > end_id + 1: self.log( - 'debug', + 'warning', f'start_id {start_id} is greater than end_id + 1 ({end_id + 1}). History will be empty.', ) self.state.history = [] @@ -694,7 +699,7 @@ def _init_history(self): # Match with most recent unmatched delegate action if not delegate_action_ids: self.log( - 'error', + 'warning', f'Found AgentDelegateObservation without matching action at id={event.id}', ) continue diff --git a/openhands/core/logger.py b/openhands/core/logger.py index f6a84669f633..20a4a4d6581a 100644 --- a/openhands/core/logger.py +++ b/openhands/core/logger.py @@ -177,7 +177,7 @@ def filter(self, record): return True -def get_console_handler(log_level=logging.INFO, extra_info: str | None = None): +def get_console_handler(log_level: int = logging.INFO, extra_info: str | None = None): """Returns a console handler for logging.""" console_handler = logging.StreamHandler() console_handler.setLevel(log_level) @@ -188,7 +188,7 @@ def get_console_handler(log_level=logging.INFO, extra_info: str | None = None): return console_handler -def get_file_handler(log_dir, log_level=logging.INFO): +def get_file_handler(log_dir: str, log_level: int = logging.INFO): """Returns a file handler for logging.""" os.makedirs(log_dir, exist_ok=True) timestamp = datetime.now().strftime('%Y-%m-%d')