如何在控制台中获取Google-glog输出?

时间:2014-07-03 22:46:40

标签: linux logging console output

我正在使用一个名为caffe的卷积神经网络框架,它在控制台中的输出由Google-glog提供。但是,当我尝试使用以下命令将输出保存到文件时:

sh train_imagenet.sh | tee output.txt

sh train_imagenet.sh > output.txt

我得到一个void文件,输出不保存到文件中。所以我想知道如何检索此输出。 提前谢谢。

2 个答案:

答案 0 :(得分:5)

FLAGS_alsologtostderr = 1;中使用main()

有关详细信息,请查看地质学doc中的Setting Flags部分。

答案 1 :(得分:4)

我也在使用Caffe。你可以尝试

sh train_imagenet.sh 2>&1 | tee output.txt

你也可以在tee中添加选项-i来忽略Ctrl-C(它将SIGINT信号传递给train_imagenet.sh而不是tee)

sh train_imagenet.sh 2>&1 | tee -i output.txt

BTW,glog默认会将日志消息写入日志文件。日志文件提供比stdout和stderr更好的严重性级别分隔。

  

除非另有说明,否则glog会写入文件名“/ tmp /< program name>。< hostname>。< user name> .log。< severity level>。< date>。< time> < PID>”中   (例如,“/ tmp / hello_world.example.com.hamaji.log.INFO.20080709-222411.10474”)。

     

默认情况下,除日志文件外,glog还将严重级别为ERROR或FATAL的日志消息复制到标准错误(stderr)。

日志文件的位置可以通过环境变量GLOG_log_dir或命令行标志log_dir设置(如果安装了gflags)。有关详细信息,请参阅https://godoc.org/github.com/golang/glog