一个简单的日志方法
Posted 下雨的傍晚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个简单的日志方法相关的知识,希望对你有一定的参考价值。
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);
以上是关于一个简单的日志方法的主要内容,如果未能解决你的问题,请参考以下文章