Providing logging details with source_location
Debugging is an essential part of software development. No matter how simple or complex it is, no program works as intended from the first shot. Therefore, developers spend a considerable amount of time debugging their code, employing various tools and techniques from debuggers to messages printed to a console or a text file. Sometimes, we want to provide detailed information about the source of a message in a log, including the file, the line, and maybe the function name. Although this was possible with some standard macros, in C++20, a new utility type called std::source_location
allows us to do it in a modern way. In this recipe, we will learn how.
How to do it…
To log information including the file name, line number, and function name, do the following:
- Define a logging function with parameters for all information that you need to provide (such as message, severity, etc.).
- Add one additional parameter...