Working with logs is a very significant part of software development. Logging means writing messages to a file (or console) describing what is happening in the application. It allows monitoring of complex systems and step by step description of its behavior.
How logging can simplify complex problems
23 guidelines for writing readable code
Event-driven programming
Bitmask - why, how and when
Entity Component System