软件开发一个重要的技术,就是日志.他可以让我们排查错误,监控运行情况,及时处理问题.能够帮我们在开发和运行过程中提供很多帮助.
我们也提供了日志处理模块.在XEngine_HelpComponents组建下名称是HelpComponents_XLog.此模块提供了常用日志处理能力.可以写控制台日志,文件日志,网络日志,系统日志等.还支持颜色设置.也支持日志级别,日志备份,个数限制,强日志,日志变量等等功能.非常的强大
我们的日志模块使用也很简单,调用函数HelpComponents_XLog_Init进行初始化.配置下日志参数,比如大小,个数,输出类型等.
st_XLogConfig.XLog_MaxSize = 10240;
st_XLogConfig.XLog_MaxBackupFile = 10;
strcpy(st_XLogConfig.tszFileName, _X("D:\\xengine_apps\\Debug\\log\\test.log"));
XHANDLE xhLog = HelpComponents_XLog_Init(HELPCOMPONENTS_XLOG_OUTTYPE_FILE | HELPCOMPONENTS_XLOG_OUTTYPE_STD, &st_XLogConfig);
if (NULL == xhLog)
{
printf("HelpComponents_XLog_Init:%lX\n", XLog_GetLastError());
return -1;
}
然后,我们可以调用函数来设置输出级别:
HelpComponents_XLog_SetLogPriority(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG);
我们就可以调用日志模块提供的宏来快速打印输出日志,比如XLOG_PRINT输出日志.下面展示了分别输出信息,警告,错误级别日志
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("xlog test 1=XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO"));
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("xlog test 2=XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN"));
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("xlog test 3=XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR"));
还可以为日志配置某个级别的颜色背景.比如,下面设置了错误日志蓝色背景,红色文字以及警告级别的绿色文字:
st_XLogColor.wError = XENGINE_HELPCOMPONENTS_XLOG_BACK_BLUE | XENGINE_HELPCOMPONENTS_XLOG_TEXT_RED;
st_XLogColor.wWarn = XENGINE_HELPCOMPONENTS_XLOG_TEXT_GREEN;
最后我们调用HelpComponents_XLog_Destroy销毁.
注意,我们的框架服务代码一般都是默认启用的INFO日志,如果大家调试测试的使用,可以启用DEBUG来获得更加详细的信息