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, std::print). That is why
defining and using a dedicated logger is highly recommended.
Code examples
The following noncompliant code:
void doSomething()
{
// ...
std::cout << "My Message"; // Noncompliant
// ...
}
Could be replaced by:
void doSomething()
{
// ...
Log().Get(logINFO) << "My Message";
// ...
}