Standard output writes console text directly to an interactive terminal, making development-time logs easy to see and debug. That convenience becomes a liability in production, where logs need persistence, aggregation, and monitoring. section 7.2.3
A fragile error path
A Java catch block may print an exception and a message with exception.printStackTrace or System.out.println. This exposes the failure locally but sends it only to the console, rather than a persistent or centralized destination. section 7.2.3
try {
int parsedNumber = Integer.parseInt(data);
} catch (NumberFormatException exception) {
exception.printStackTrace(); #1
System.out.println("Big problem!"); #2
System.err.println("Big problem!"); #3
}
Compare stack-trace output with messages sent to standard output and standard error in the same Java error handler. section 7.2.3





