Will It Vibe logoWill It Vibe?
JAVA-008Info severity-2 points

System.out/err.println used instead of a logger

Part of Code Quality & Syntax, which counts for 20% of the overall score. When this check fires it deducts 2 points from that category, once per scan, no matter how many places it turns up.

What it detects

Application code writes directly to stdout/stderr instead of going through a logger (SLF4J/Logback/Log4j). Console output is not level-filtered, is not routed to log aggregation, and is easy to lose in production. This is a broad heuristic: a small CLI tool or a Main class may legitimately print to the console.

Why it matters

System.out and System.err bypass whatever logging framework the rest of the application uses, so this output has no log level, is not routed to log aggregation or alerting, and is easy to lose entirely once the process runs somewhere that does not capture stdout.

How to fix it

Use the project's existing logger (SLF4J with Logback or Log4j2 is standard in Spring apps) at an appropriate level instead of println. This is a broad heuristic: a small CLI tool or a one-off Main class may legitimately print to the console, so use judgment about which call sites actually need to change.

The paid report includes a ready-to-paste prompt for your AI coding agent for every check it finds, pointed at the exact findings from your scan. See pricing

Does your repo trip this check?

Paste a GitHub URL or drop a project folder. Scans run in your browser and take seconds.

Scan your repo

Related Code Quality & Syntax checks