From 07f216b13f427a721ec299ab6b6df748ffa5059f Mon Sep 17 00:00:00 2001 From: chengyongru Date: Mon, 30 Mar 2026 17:32:09 +0800 Subject: [PATCH] fix(agent): use loguru instead of stdlib logging in runner The project consistently uses loguru across all 32 modules. The stdlib logging import was an oversight from the cached_tokens feature. Also fixes log format from %d/%s placeholders to {} for loguru. --- nanobot/agent/runner.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/nanobot/agent/runner.py b/nanobot/agent/runner.py index d9d2d1a22..819a26a99 100644 --- a/nanobot/agent/runner.py +++ b/nanobot/agent/runner.py @@ -3,17 +3,16 @@ from __future__ import annotations import asyncio -import logging from dataclasses import dataclass, field from typing import Any +from loguru import logger + from nanobot.agent.hook import AgentHook, AgentHookContext from nanobot.agent.tools.registry import ToolRegistry from nanobot.providers.base import LLMProvider, ToolCallRequest from nanobot.utils.helpers import build_assistant_message -logger = logging.getLogger(__name__) - _DEFAULT_MAX_ITERATIONS_MESSAGE = ( "I reached the maximum number of tool call iterations ({max_iterations}) " "without completing the task. You can try breaking the task into smaller steps." @@ -110,7 +109,7 @@ class AgentRunner: context.response = response context.usage = iter_usage logger.debug( - "LLM usage: prompt=%d completion=%d cached=%s", + "LLM usage: prompt={} completion={} cached={}", iter_usage["prompt_tokens"], iter_usage["completion_tokens"], iter_usage.get("cached_tokens", 0),