【问题标题】:How to see 'syslog' output at app_server running PHP如何在运行 PHP 的 app_server 上查看“syslog”输出
【发布时间】:2013-11-01 14:54:05
【问题描述】:

我正在使用“Google App Engine Launcher”启动的 app_server 在我的计算机上测试 PHP 应用程序。

但是,在其日志中,我没有看到插入到我的 PHP 代码中的系统日志的输出。

我试过参数--log_level 和--dev_appserver_log_level 都没有成功。

有人知道可以做什么吗?

我的 Google App Engine 启动器是 1.8.6 版。

【问题讨论】:

  • 遇到同样的问题。没有找到任何解决方案。我通过在 memcache 中写东西来帮助自己:$memcache = new Memcache(); $memcache->set('log_1', print_r($var, true));
  • 您可以使用简单的函数file_put_contents()将日志保存在磁盘上

标签: php google-app-engine


【解决方案1】:

默认配置应启用 syslogging,因此在启动 app_server 时不需要额外的参数。你能执行一个非常简单的测试脚本并发布输出吗?

<?php
print 'Using syslog() '. (syslog(LOG_DEBUG, 'Testing syslog() functionality') ? 'succeeded' : 'failed');

执行上述脚本并获得肯定的结果消息后,您应该在本地系统日志中找到至少一个条目。

如果您想以编程方式读取日志(来源 [1]):

您可以使用 AppEngine 的 LogService API 迭代 syslog() 添加的消息:

use google\appengine\api\log\LogService;
use google\appengine\util as util;

$start = (float) $_GET["start"];
$end = (float) $_GET["end"];

$options = [
  'start_time' => $start * 1e6,
  'end_time' => $end * 1e6,
  'include_app_logs' => true
];

$logs = LogService::fetch($options);

[1]https://developers.google.com/appengine/docs/php/logs/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-06
    • 2019-06-16
    • 2013-05-21
    • 2021-07-08
    • 2010-09-27
    • 2016-06-14
    • 2012-07-21
    • 2010-11-17
    相关资源
    最近更新 更多