Why is this an issue?
In software development, logs serve as a record of events within an application, providing crucial insights for debugging. When logging, it is
essential to ensure that the logs are:
- easily accessible
- uniformly formatted for readability
- properly recorded
- securely logged when dealing with sensitive data
Those requirements are not met if a program directly writes to the standard outputs (e.g., std::cout, std::cerr, printf). That is why defining and
using a dedicated logger is highly recommended.
The following noncompliant code:
std::cout << "My Message"; // Noncompliant
Could be replaced by:
Log().Get(logINFO) << "My Message";