Skip to content

Commit 63b9849

Browse files
phernandezclaude
andcommitted
fix: prevent DEBUG logs from appearing on CLI stdout
Remove loguru's default handler at the very start of cli/app.py, before any other imports. This prevents module-level code (like TemplateLoader.__init__) from logging to stdout during import. The import chain cli/commands/project.py -> mcp/async_client.py -> api/app.py -> api/routers/prompt_router.py -> api/template_loader.py triggers TemplateLoader() instantiation at DEBUG level before init_cli_logging() can remove the default handler. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> Signed-off-by: phernandez <paul@basicmachines.co>
1 parent 622d37e commit 63b9849

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/basic_memory/cli/app.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
from typing import Optional
1+
# Remove loguru's default handler IMMEDIATELY, before any other imports.
2+
# This prevents DEBUG logs from appearing on stdout during module-level
3+
# initialization (e.g., template_loader.TemplateLoader() logs at DEBUG level).
4+
from loguru import logger
25

3-
import typer
6+
logger.remove()
47

5-
from basic_memory.config import ConfigManager, init_cli_logging
8+
from typing import Optional # noqa: E402
9+
10+
import typer # noqa: E402
11+
12+
from basic_memory.config import ConfigManager, init_cli_logging # noqa: E402
613

714

815
def version_callback(value: bool) -> None:

0 commit comments

Comments
 (0)