平时调试的时候打印信息比较多,为了更好的区分“轻重缓急 ” 修改了打印日志的函数。
可以传入不定量不定类型的参数,也可以自定义输出的文字颜色,下面直接上代码。
Log(LOG_NORMAL, "========================================");
Log(LOG_NORMAL, "========================================");
Log(LOG_NORMAL, "========================================\n\n");
Log(LOG_NORMAL, "测试输出颜色 :%d", LOG_NORMAL);
Log(LOG_TIPS, "测试输出颜色 :%d", LOG_TIPS);
Log(LOG_ERR, "测试输出颜色 :%d", LOG_ERR);
Log(LOG_NORMAL, "========================================");
Log(LOG_NORMAL, "========================================");
Log(LOG_NORMAL, "========================================\n\n");
#pragma once
#include <windows.h>
#include<stdarg.h>
#include <stdio.h>
#include "stdafx.h"
using namespace std;
enum LOGTYPE
{
LOG_NORMAL, LOG_TIPS, LOG_ERR
};
/* color
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 10 = 淡绿色
3 = 浅绿色 11 = 淡浅绿色
4 = 红色 12 = 淡红色
5 = 紫色 13 = 淡紫色
6 = 黄色 14 = 淡黄色
7 = 白色 15 = 亮白色
*/
static void Log(LOGTYPE nType, const char* format,...)
{
WORD color = 7;
switch (nType)
{
case LOG_NORMAL: color = 0; break;
case LOG_TIPS: color = 3; break;
case LOG_ERR: color = 4; break;
}
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color);
char buf[1024];
va_list ap;
va_start(ap, format);
vsprintf(buf, format, ap);
cout << "[TIPS]" << (buf) << "\n";
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7);
}