refactor(logging): replace System.err.println with McpLogger #89

Merged
fred merged 1 commit from refactor/54-system-err-println-mcplogger into main 2026-09-07 18:39:22 +00:00
Collaborator

Was

33 System.err.println in org.naturzukunft.jdt.mcp durch McpLogger ersetzt
(Fehler → error/warn, Ablauf → info, hochfrequente Payload-Logs →
debug), damit sie Rotation, Timestamp und Level-Filterung bekommen und in der
Log-Datei landen statt nur auf stderr.

Betroffen: ExecutionTools (13), McpHttpServer (12), CodeAnalysisTools (2),
CreationTools (2), DocumentationTools (1), RefactoringSupport (1),
NavigationTools (1), CodeGenerationTools (1).

McpLogger.java selbst bleibt unangetastet: seine zwei internen
Fallback-println/print-Aufrufe (init-/write-Fehler des Loggers, Zeile 65+138,
sowie die eigentliche stderr-Ausgabe in log(), Zeile 125) sind kein Umweg um
McpLogger, sondern der Logger selbst — der kann sich nicht selbst loggen.

Rest (nicht in diesem PR)

Ausgeschlossen, weil parallele Pakete diese Dateien berühren:

  • ProjectInfoTools.java — 1 Stelle (Error getting Java project)

McpStdioServer.java, HeadlessApplication.java, McpProtocolHandler.java
hatten bei Durchsicht keine System.err.println-Stellen mehr (bereits über
McpLogger). Der PR schließt #54 daher nicht vollständig — Refs #54, kein
Closes, bis ProjectInfoTools in einem Folge-PR nachgezogen ist.

Verifikation

  • mvn -pl org.naturzukunft.jdt.mcp -am compile (mit XML-Entity-MAVEN_OPTS): grün
  • mvn clean package (Produkt-Build): grün
  • tests/smoke-test.sh gegen den gebauten jdtls-mcp-Binary: 9/9 Tests grün,
    Readiness-Marker MCP server running on stdio (über McpLogger.info in
    HeadlessApplication, unverändert) erkannt

🤖 Generated with Claude Code

https://claude.ai/code/session_016tHV1dzUTdTwMLgx6yotVd

## Was 33 `System.err.println` in `org.naturzukunft.jdt.mcp` durch `McpLogger` ersetzt (Fehler → `error`/`warn`, Ablauf → `info`, hochfrequente Payload-Logs → `debug`), damit sie Rotation, Timestamp und Level-Filterung bekommen und in der Log-Datei landen statt nur auf stderr. Betroffen: `ExecutionTools` (13), `McpHttpServer` (12), `CodeAnalysisTools` (2), `CreationTools` (2), `DocumentationTools` (1), `RefactoringSupport` (1), `NavigationTools` (1), `CodeGenerationTools` (1). `McpLogger.java` selbst bleibt unangetastet: seine zwei internen Fallback-`println`/`print`-Aufrufe (init-/write-Fehler des Loggers, Zeile 65+138, sowie die eigentliche stderr-Ausgabe in `log()`, Zeile 125) sind kein Umweg um `McpLogger`, sondern der Logger selbst — der kann sich nicht selbst loggen. ## Rest (nicht in diesem PR) Ausgeschlossen, weil parallele Pakete diese Dateien berühren: - `ProjectInfoTools.java` — 1 Stelle (`Error getting Java project`) `McpStdioServer.java`, `HeadlessApplication.java`, `McpProtocolHandler.java` hatten bei Durchsicht keine `System.err.println`-Stellen mehr (bereits über `McpLogger`). Der PR schließt #54 daher nicht vollständig — Refs #54, kein Closes, bis `ProjectInfoTools` in einem Folge-PR nachgezogen ist. ## Verifikation - `mvn -pl org.naturzukunft.jdt.mcp -am compile` (mit XML-Entity-`MAVEN_OPTS`): grün - `mvn clean package` (Produkt-Build): grün - `tests/smoke-test.sh` gegen den gebauten `jdtls-mcp`-Binary: 9/9 Tests grün, Readiness-Marker `MCP server running on stdio` (über `McpLogger.info` in `HeadlessApplication`, unverändert) erkannt 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016tHV1dzUTdTwMLgx6yotVd
Routes 33 stderr println calls in ExecutionTools, McpHttpServer,
CodeAnalysisTools, CreationTools, DocumentationTools, NavigationTools,
RefactoringSupport and CodeGenerationTools through McpLogger, so they
get timestamps, rotation and level filtering and land in the log file.
McpStdioServer, HeadlessApplication, McpProtocolHandler and
ProjectInfoTools are left for a follow-up (parallel work touches
them); McpLogger's own two internal fallback prints (used when the
logger itself fails to init/write) stay untouched by design.

Refs #54

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016tHV1dzUTdTwMLgx6yotVd
fred merged commit c6cc0382da into main 2026-09-07 18:39:22 +00:00
fred deleted branch refactor/54-system-err-println-mcplogger 2026-09-07 18:39:27 +00:00
Commenting is not possible because the repository is archived.
No description provided.