41. 编程Part1: 调试日志

iFun引擎使用 Google glog 作为用于编程调试的日志。 Glog的具体内容 请参考 Glog 文件

支持的 LOG level有 INFOWARNINGERRORFATAL ,简单使用方法如下所示。

41.1. Google logging使用示例

1
2
3
4
5
6
7
8
void some_function() {
  LOG(INFO) << "INFO level message. It does not require a new line.";
  LOG(WARNING) << "WARNING level message.";
  LOG(ERROR) << "ERROR level message.";

  // DLOG works only in the debugging mode.
  DLOG(INFO) << "DLOG gets elimiated if built with NDEBUG.";
}
1
2
3
4
5
6
void SomeFunction()
{
  Log.Info ("INFO level message. It does not require a new line.");
  Log.Warning ("WARNING level message.");
  Log.Error ("ERROR level message.");
}

41.2. Log文件生成位置

iFun引擎中glog生成的位置如下。

  • 开发阶段在Build目录下的 glog/ 目录下生成。

  • Live阶段在 /var/log/funapi/{{ project_name }}/glog 下生成。

41.3. 在画面上显示日志消息

开发及测试阶段如想要在console画面上显示Log,而不是输出日志file,在运行时添加 --logotostderr--alsologtostderr 即可。前者不生成日志文件,仅通过画面显示日志,后者同时输出日志文件和画面。

$./my_server-local --logtostderr
$./my_server-local --alsologtostderr

41.4. 日志功能设置参数

在MANIFEST.json的 Logging 会话中可指定如下所示设置。

几乎不需要直接更改设置的参数

  • glog_flush_interval: 用于plush Google logging的时间间隔,单位为秒。(type=int32, default=1)

  • glog_retention_period_in_days: Google日志文件的保留期。 超出保留期的glog文件将被删除。(type=int32, default=30)