7

我想在我的 C++\Linux 项目中使用google-glog(日志库)。对我来说最重要的功能之一是滚动文件。即当日志文件大小超过固定阈值时,创建新的日志文件并删除旧的。时间限制相同(每天,每小时等)。

也许我错过了一些东西,但我在这个非常好的库中找不到这样的功能。有人可以帮我解决这个问题吗?

4

1 回答 1

8

对于日志文件大小(整数):

GLOG_max_log_size(环境变量)或--max_log_size=size(如果安装了 gflags)或fLI::FLAGS_max_log_size=size(在 C++ 代码中)

对于日志目录(字符串):

GLOG_log_dir(环境变量)或--log_dir=dir(如果安装了 gflags)或fLS::FLAGS_log_dir=logdir(在 C++ 代码中)

用于记录到 stderr(Boolean):

GLOG_logtostderr(环境变量)或--logtostderr=1(如果安装了 gflags)或fLB::logtostderr=true(在 C++ 代码中)

同样,您也可以使用以下内容:

  • 还有来自命名空间的logtostderr、colorlogtostderr、log_prefix、stop_logging_if_full_disk fLB(都是布尔值)
  • minloglevel, logbuflevel, logbufsecs, logemaillevel 来自命名空间fLI(都是整数)
  • 还有来自命名空间的logtoemail、logmailer、log_link、log_backtrace_at fLS(都是字符串)

但最重要的是,如 quamrana 所说,请查看 glog_srource/src/logging.cc 以获取更多信息。

于 2013-05-09T03:48:54.827 回答