Logger

Logging is super important.

This is an interesting thought on using a logger vs. debugger, from SE465:

“As personal choice, we tend not to use debuggers beyond getting a stack trace or the value of a variable or two. …we find stepping through a program less productive than thinking harder and adding output statements and self-checking code at critical places. Clicking over statements takes longer than scanning the output of judiciously-placed displays. It takes less time to decide where to put print statements than to single-step to the critical section of code, even assuming we know where that is. More important, debugging statements stay with the program; debugging sessions are transient.”