程序运行调试日志的简单方法

152 篇文章 1 订阅

程序运行调试日志的简单方法

1. 添加下面的宏

 

// 在调试状态下, 才会产生日志

#ifdef _DEBUG

#define  WRITE_LOG(strLog) WriteLog(strLog, __FILE__, __LINE__, __FUNCTION__)

#define  WRITE_DATA(strData, nDataLen) WriteData(strData, nDataLen)

#else

#define  WRITE_LOG(strLog)   

#define  WRITE_DATA(strData, nDataLen) 

#endif

 

 

#include <stdio.h>

void WriteLog(const char* strLog, char *pFile, int nLine, char *strFunction)

       {

       try

              {

              if(0 == strLog)

                     {

                     return;

                     }

              if(0 == strlen(strLog))

                     {

                     return;

                     }

              // 日志时间

              SYSTEMTIME systime;

              memset(&systime,0,sizeof(systime));

              GetLocalTime(&systime);

 

              FILE       *pFile;

              pFile=fopen("Log.Log","a+");

              if(pFile!=NULL)

                     {

 

                     fprintf(pFile,"/n/n%04d-%02d-%02d %02d:%02d:%02d.%03d】【%s(%d)-%s/nLOG%s/n",systime.wYear,systime.wMonth,

                            systime.wDay,systime.wHour,systime.wMinute,systime.wSecond,systime.wMilliseconds,

                            sFile,nLine,sFunction,strLog);

                     fclose(pFile);

                     }

              }catch(...){}

       }

 

void WriteData(const unsigned char* strLog,int nLength)

       {

       try

              {

              if (0 == strLog )

                     {

                     return ;

                     }

 

              if (0 == nLength )

                     {

                     return ;

                     }

 

              int  nLineByte = 0;           //行字节数

 

              FILE       *pFile;

              pFile=fopen("Data.Log","a+");

              if(pFile!=NULL)

                     {

                     fprintf(pFile,"/n/nDATA/n");

                     for (int i=0; i<nLength; i++)

                            {

                            if (nLineByte == 32)

                                   {

                                   fprintf(pFile,"/n");

                                   nLineByte = 0;

                                   }

 

                            fprintf(pFile,"%02x ",strLog[i]);

                            nLineByte++;

                            }

                     fprintf(pFile,"/n");

                     fclose(pFile);

                     }

              }catch(...){}

#endif

       }

 

 

// 使用

WRITE_LOG("received the invite message from server");

WRITE_DATA((unsigned char*)pdata, nDataLen);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值