如何更改Google glog中的输出目录?
我只找到google::SetLogDestination(google::LogSeverity, const char* path)
尝试了:
google::SetLogDestination(ERROR, "C:\\log\\error.log);
google::InitGoogleLogging("Test");
LOG(ERROR) << "TEST";
但没有写任何内容!
顺便说一句:如果你建议另一个轻量级,易于使用和线程安全的库,请告诉我!
感谢您的帮助!
答案 0 :(得分:9)
您还可以执行以下操作之一:
只要安装了GFlgas库,就将日志目录作为命令行参数传递:
./your_application --log_dir=/some/log/directory
如果您不想在命令行中传递它,而是在源代码中设置它:
FLAGS_log_dir = "/some/log/directory";
如果未安装Google gflags库,您可以将其设置为环境变量:
GLOG_log_dir=/some/log/directory ./your_application
答案 1 :(得分:4)
以下是我所做的测试,您可以尝试一下,
#include <glog/logging.h>
using namespace std;
int main(int /*argc*/, char** argv)
{
FLAGS_logtostderr = true;
google::SetLogDestination(google::GLOG_INFO,"c:/lovelyGoogle" );
google::InitGoogleLogging(argv[0]);
LOG(INFO) << "This is INFO";
LOG(WARNING) << "This is WARNING";
LOG(ERROR) << "This is Error";
system("pause");
return 0;
}
在Visual Studio 2012下测试,Windows 7上的google-glog 0.3.3
它在我的C驱动程序上生成lvoelyGoogle20131016-141423.5160
如果设置FLAGS_logtostderr = false
,则不会生成日志文件,
我相信你已经阅读this(好吧,我没有评论)
希望这有用,祝你好运。
PS:我已经在QtCreator(Qt5.1)上测试了Windows7,没有输出。我现在不知道如何修复它。
答案 2 :(得分:1)
我用这个:
fLS::FLAGS_log_dir = "c:/Documents/logs";