一个简单的日志方法

FILE *g_fileLog = NULL;
void LogInit()
{
    CString sLogPath = GetModulePath();
    sLogPath += L"\\log.txt";

    // 事实证明,这里一写要有t,ccs=UTF-8才能正确写出wchar_t
    g_fileLog = _tfopen(sLogPath, L"at,ccs=UTF-8"); 
}

bool WriteLog(LPCTSTR format, ...)
{
    time_t tm = time(0);

    TCHAR outBuf[1024] = {0};
    int res = _tcsftime(outBuf, 128, _T("[20%y年%m月%d日 %H:%M:%S] "), localtime(&tm));

    TCHAR lpszInfoBuf[1024] = {0};
    va_list args;
    va_start (args, format);
    _vstprintf_s(lpszInfoBuf, 1024, format, args);
    va_end (args);
    
    _tcscat(outBuf, lpszInfoBuf);
    _tcscat(outBuf, _T("\r\n"));
    fwrite(outBuf, sizeof(TCHAR), _tcslen(outBuf), g_fileLog);

    fflush(g_fileLog);
    return true;
}

void LogClose()
{
    fclose(g_fileLog);
}

这是的GetModulePath 是一个自己写的函数,就是获取当前程序的目录。

使用的时候先调用LogInit(); 程序关闭的时候调用LogClose();

使用示例:

WriteLog(L"打开了%d文件", 10);

转载于:https://www.cnblogs.com/hnlzj/p/5637804.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值