码迷,mamicode.com
首页 > 其他好文 > 详细

一个简单的日志方法

时间:2016-07-03 12:59:14      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

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);

一个简单的日志方法

标签:

原文地址:http://www.cnblogs.com/hnlzj/p/5637804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!