Introduction
In the previous chapter, we learned about extending the functionality of our application with gems, interacting with the filesystem with the File
and IO
classes, importing external data using CSV files, and how to wrap all this up in a nicely encapsulated service class.
Software bugs are a fact of life in software engineering. No matter your skill level, bugs always find a way to show up. We can, however, reduce the severity and volume of bugs by improving our knowledge of logging and debugging. A solid understanding of these topics will ensure that, when things go wrong, we're armed with the tools and required knowledge to solve the problem efficiently.
Understanding how and why issues occur is a critical part of software engineering. In this chapter, we're going to learn how to use a proper logging solution to gain visibility of our application's operation rather than just printing variables to the screen.
We'll also learn how to categorize...