Exibindo saídas de depuração

Java:
Exibindo saídas de depuração

How to:

Vamos partir para o código. Aqui estão alguns exemplos de como exibir mensagens de depuração em Java:

public class DebugExample {

    public static void main(String[] args) {
        
        // Mensagem simples de debug
        System.out.println("Debug: começou a execução do programa.");

        // Debug com uma variável
        int resultado = 42;
        System.out.println("Debug: o resultado calculado foi " + resultado);

        // Usando String.format para uma mensagem formatada
        float valor = 3.14159f;
        System.out.println(String.format("Debug: o valor de PI é aproximadamente %.2f", valor));
        
        // Usando printf para uma mensagem formatada (outra forma)
        System.out.printf("Debug: valor formatado de PI: %.3f%n", valor);

        // Output condicional para depuração
        boolean modoDebug = true;
        if (modoDebug) {
            System.out.println("Debug: modo de depuração ativo!");
        }
    }
}

Exemplo de saída:

Debug: começou a execução do programa.
Debug: o resultado calculado foi 42
Debug: o valor de PI é aproximadamente 3.14
Debug: valor formatado de PI: 3.142
Debug: modo de depuração ativo!

Deep Dive

Antigamente, no começo da programação, a galera usava sinais luminosos e interruptores para debugar. Hoje, a gente usa o bom e velho System.out.println() no Java, mas existem ferramentas mais refinadas como loggers (log4j, SLF4J) que oferecem mais controle sobre o que é impresso e onde isso aparece.

Quando você usa System.out.println(), está escrevendo na saída padrão do sistema, que usualmente é o console. Mas e se você precisar de mais controle? Usar um sistema de logging permite configurar níveis de importância, destinos diferentes para as mensagens (como arquivos, bancos de dados, etc.), e formatar as mensagens de maneira mais consistente.

Outra vantagem de usar um sistema de logging é o desempenho. Imprimir mensagens na saída padrão pode ser relativamente lento e afetar o desempenho do seu aplicativo se não for usado com cuidado. Os loggers são mais eficientes e podem ser desativados ou ter sua verbosidade ajustada facilmente, o que é perfeito para a produção.

See Also

Para entrar mais a fundo nessa história de debug e logging, dá uma olhada nesses links: