1 调试日志的输出

  • 日志的输出的重要性:在程序开发过程中,日常调试信息的输出对锁定bug代码行位置、数据校验、信息判断起着非常重要的作用。

  • 日志输出的缺陷:但是在发布的生产版本代码中大量输出日志容易造成性能丢失,日志文件过大的问题,所以调试日志输出常常只是需要在Debug模式下需要,而在发布版本中是不需要的。

2 使用于不同的开发模式下的日志输出

我们可以通过代码控制调试日志只在Debug模式下输出而在Release模式下不输出。

在全局头文件中加入以下代码:

#include <iostream>

#ifdef DEBUG
 #define debugcout std::cout
#else
 #define debugcout 0 && std::cout
#endif // DEBUG

即可使得只在Debug模式下输出日志。

只需要在使用时调用:

debugcout << "HelloWorld" << std::endl;

即可。

当然上述方式是线程不安全的,因为std::cout不是线程安全的,只可以在单线程的情况下使用,如果有时间会说一下多线程情况下的线程安全的日志输出类。