我想使用Glog lib来记录我的应用程序日志。我的应用程序是多线程的。正如glog中所建议的那样,我认为应该使用RAW_LOG来保证线程安全。以下是我的示例代码。
#include "stdafx.h"
#define GLOG_NO_ABBREVIATED_SEVERITIES
#include <windows.h>
#include <glog/logging.h>
#include <glog/raw_logging.h>
using namespace std;
int main(int /*argc*/, char** argv)
{
FLAGS_alsologtostderr = 1;
google::SetLogDestination(google::GLOG_INFO, "E:/mylog.log");
google::InitGoogleLogging(argv[0]);
//LOG(INFO) << "Infomration";
RAW_LOG_INFO("Test");
RAW_LOG(INFO,"This is INFO");
RAW_LOG(WARNING,"This is WARNING");
RAW_LOG(ERROR, "This is Error");
return 0;
}但是,如果我使用RAW_LOG,则不会生成日志文件,但如果我使用LOG()函数,则会生成日志文件。
请告诉我如何使用RAW_LOG函数或者是LOG()函数是否是线程安全。
发布于 2018-10-23 19:46:04
这是来自raw_logging.h
// * it logs straight and ONLY to STDERR w/o buffering它只能记录到stderr,并且仅用于低级代码的调试目的,因此RAW_LOG(INFO,"...")永远不会生成任何日志文件。
https://stackoverflow.com/questions/47675631
复制相似问题