Para aplicaciones en producción es imprescindible usar un buen sistema de logs, sin duda, pero para probar una cosilla en desarrollo, yo suelo emplear más los printn, para distinguirlos del codigo "real". Despues hago un "buscar" de System.err y se que lo que quede seguramente hay que revisarlo para dejarlo como log de verdad o borrarlo.
Tambien se puede usar directamente una libreria de Logs en depuracion, pero a mi personalmente me da más pereza y luego me olvido mensajes que no deberian estar, aparte de que si configuras mal la libreria no te salen mensajes... asi que voy a lo simple. Eso si, solo en depuracion del desarrollo.
Buena puntualizacion