The scan runs a set of rules collected from real broken servers. When a line matches one, we pin a finding to the top with the line number and what usually fixes it. No model, no guessing — if nothing matches, we say nothing.
Console log, crash report or config. Small logs are read before the page finishes loading.
Each rule knows one failure shape — a Java version clash, a missing dependency, a port already in use.
Blocking problems first, then performance, then housekeeping. Each one links to its line.
Missing one? The raw log is always right there — the scan never hides anything, it only points.