用下面这种结构的代码,就可以巧妙地实现对C++输出日志的排版:

#define INDENT ” ”
LOG(“Using configured information:\n”
INDENT “address = %s\n”
INDENT “port = %d\n”
INDENT “user_id = %s\n”
INDENT “user_key = %s\n”,
);

其实就是定义一个代表很多空格的宏。