Improve logging to show thread name

This commit is contained in:
Dominik Jain committed 2025-06-24 13:24:48 +02:00
1 parent 404f026bbd
commit e3d021a432
4 files changed
+9 -9

No files matched your search

+3 -5
View File
@@ -31,7 +31,7 @@ from overrides import override
from pathspec import PathSpec
from ruamel.yaml.comments import CommentedMap
from sensai.util import logging
from sensai.util.logging import LOG_DEFAULT_FORMAT, FallbackHandler, LogTime
from sensai.util.logging import FallbackHandler, LogTime
from sensai.util.string import ToStringMixin, dict_string
from serena import serena_version
@@ -41,6 +41,7 @@ from serena.constants import (
PROJECT_TEMPLATE_FILE,
REPO_ROOT,
SELENA_CONFIG_TEMPLATE_FILE,
SERENA_LOG_FORMAT,
SERENA_MANAGED_DIR_NAME,
)
from serena.dashboard import MemoryLogHandler, SerenaDashboardAPI
@@ -60,7 +61,6 @@ if TYPE_CHECKING:
from serena.gui_log_viewer import GuiLogViewerHandler
log = logging.getLogger(__name__)
LOG_FORMAT = "%(levelname)-5s %(asctime)-15s %(name)s:%(funcName)s:%(lineno)d - %(message)s"
TTool = TypeVar("TTool", bound="Tool")
SUCCESS_RESULT = "OK"
DEFAULT_TOOL_TIMEOUT: float = 240
@@ -751,8 +751,6 @@ class SerenaAgent:
if Logger.root.level > serena_log_level:
log.info(f"Changing the root logger level to {serena_log_level}")
Logger.root.setLevel(serena_log_level)
# Override existing configuration (needed to configure multilspy logger as desired)
logging.basicConfig(format=LOG_DEFAULT_FORMAT, level=serena_log_level, force=True)
# open GUI log window if enabled
self._gui_log_handler: Union["GuiLogViewerHandler", None] = None # noqa
@@ -765,7 +763,7 @@ class SerenaAgent:
from serena.gui_log_viewer import GuiLogViewer, GuiLogViewerHandler
self._gui_log_handler = GuiLogViewerHandler(
GuiLogViewer("dashboard", title="Serena Logs"), level=serena_log_level, format_string=LOG_FORMAT
GuiLogViewer("dashboard", title="Serena Logs"), level=serena_log_level, format_string=SERENA_LOG_FORMAT
)
Logger.root.addHandler(self._gui_log_handler)
+2
View File
@@ -20,3 +20,5 @@ PROJECT_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "project.template.y
SELENA_CONFIG_TEMPLATE_FILE = str(_serena_pkg_path / "resources" / "serena_config.template.yml")
USE_PROCESS_ISOLATION = False
SERENA_LOG_FORMAT = "%(levelname)-5s %(asctime)-15s [%(threadName)s] %(name)s:%(funcName)s:%(lineno)d - %(message)s"
+2 -2
View File
@@ -9,7 +9,7 @@ from flask import Flask, Response, request, send_from_directory
from pydantic import BaseModel
from sensai.util import logging
from serena.constants import SERENA_DASHBOARD_DIR
from serena.constants import SERENA_DASHBOARD_DIR, SERENA_LOG_FORMAT
log = logging.getLogger(__name__)
@@ -20,7 +20,7 @@ logging.getLogger("werkzeug").setLevel(logging.WARNING)
class MemoryLogHandler(logging.Handler):
def __init__(self, level: int = logging.NOTSET) -> None:
super().__init__(level=level)
self.setFormatter(logging.Formatter(logging.LOG_DEFAULT_FORMAT))
self.setFormatter(logging.Formatter(SERENA_LOG_FORMAT))
self._log_buffer = LogBuffer()
self._log_queue: queue.Queue[str] = queue.Queue()
self._stop_event = threading.Event()
+2 -2
View File
@@ -170,12 +170,12 @@ class SolidLanguageServerHandler:
# start threads to read stdout and stderr of the process
threading.Thread(
target=self.run_forever,
name="LSP stdout reader",
name="LSP-stdout-reader",
daemon=True,
).start()
threading.Thread(
target=self.run_forever_stderr,
name="LSP stderr reader",
name="LSP-stderr-reader",
daemon=True,
).start()