In this chapter, we will cover following recipes:
- Basic logging—logging allows you to keep track of what the software is doing, and it's usually unrelated to its output
 - Logging to file—when logging is frequent, it is necessary to store the logs on a disk
 - Logging to Syslog—if your system has a Syslog daemon, you might want to log in to Syslog instead of using a standalone file
 - Parsing arguments—when writing with command-line tools, you need parsing options for practically any tool
 - Interactive shells—sometimes options are not enough and you need a form of Read-Eval-Print Loop to drive your tool
 - Sizing terminal text—to align the displayed output properly, we need to know the terminal window size
 - Running system commands—how to integrate other third-party commands in your software
 - Progress bar—how to show a...