c++输出简单日志带日期时间功能
2023-12-21 13:55:28
最近项目需要简单输出日志,用巨大的日志类未免繁琐,于是写了这个简单的日志函数,带日期,MFC下可以直接使用。
直接上代码:
template <typename T>
std::string ConvertToStringS(T value)
{
std::stringstream ss;
ss << value;
return ss.str();
}
static std::string LogInfo(const std::string sInfo, bool s_bTimePrefix = true)
{
SYSTEMTIME sysTime = { 0 };
GetLocalTime(&sysTime);
std::string sFinalInfo;
if (s_bTimePrefix)
{
sFinalInfo = "[" + ConvertToStringS(sysTime.wMonth) + ConvertToStringS(sysTime.wDay) + "-" + \
ConvertToStringS(sysTime.wHour) + "-" + ConvertToStringS(sysTime.wMinute) + "-" + ConvertToStringS(sysTime.wSecond) + "-" + \
ConvertToStringS(sysTime.wMilliseconds) + "]:" + sInfo;
}
else
{
sFinalInfo = sInfo;
}
return sFinalInfo;
}
static int LogInfoToFile(const std::string sInfo, const std::string& sFilePath, bool bAppend = false)
{
std::vector<std::string> vInfos;
vInfos.push_back(LogInfo(sInfo));
return SaveTXTUtf8S(vInfos, sFilePath, bAppend);
}
使用方法如下:
//输出日志代表成功进入
std::string sTmpPath = getenv("Temp");
// 目录结尾
if (sTmpPath.length() && sTmpPath[sTmpPath.length() - 1] != '\\')
{
sTmpPath += '\\';
}
//路径
std::string sLogPath = sTmpPath + "xxx.log";
LogInfoToFile("exe成功启动...", sLogPath);
使用效果如下图:
谨此记录。
文章来源:https://blog.csdn.net/autumoonchina/article/details/135125528
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!