在windows下调试caffe 因为要做工程 所以不需要命令行大量的输出日志
但是之前查了很久也没有找到方法 一度手工注释掉LOG(INFO)的部分 被自己蠢哭
刚刚看了下glog的说明 找到了解决方法:
头文件需要包含"logging.h" ,以下语句根据需求进行调用
InitGoogleLogging(const char* argv0);
这句话非常重要,如果不进行初始化日志的操作,后续操作将无法起到作用。则调用LOG()函数时,系统只能将信息输出到stderr,显示到命令行中去。
一般传入参数应该是main函数的第一个参数,但是我调用日志初始化并不在main函数中,后来发现这个输入参数只是为了定义日志文件的名字与执行的程序一致,所以可以自己直接指定一个字符串进去。
我的调用:
google::InitGoogleLogging("VR"); //初始化
//FLAGS_logtostderr = 0; //若设置为0 则所有的信息都不在命令行显示
//FLAGS_log_dir = "D://log"; //重定向日志输出到指定文件夹D://log下 我不需要日志输出 所以并没有指定
FLAGS_stderrthreshold = google::ERROR; //在命令只打印google::ERROR级别以及该级别以上的日志信息
最后要记得关闭日志操作
google::ShutdownGoogleLogging();
完成~咩哈哈 命令行运行结果瞬间干净~