Google App Engine Standard上具有PHP Lumen的Stackdriver

问题描述

我的目的是使用Google Stackdriver管理应用程序的日志。该应用是流明5.8。实际上,它可以在本地运行,但是如果部署在我的Google App Engine应用程序上,它不会返回任何错误,但是不会报告任何日志。完成步骤:

  1. 安装Google Cloud软件包
composer require google/cloud
  1. 创建我的Stackdriver记录器类
<?php

namespace App\Logging;

use Google\Cloud\Logging\LoggingClient;
use Monolog\Handler\PsrHandler;
use Monolog\Logger;

class CreateStackdriverLogger
{
    /**
     * Create a custom Monolog instance.
     *
     * @param  array  $config
     * @return \Monolog\Logger
     */
    public function __invoke(array $config)
    {
        putenv('GOOGLE_APPLICATION_CREDENTIALS=' . config('google.service_account.filepath'));

        $logger = LoggingClient::psrBatchLogger('app');
        $handler = new PsrHandler($logger);

        return new Logger('stackdriver',[$handler]);
    }
}

  1. 在我的app / config文件夹中创建我的配置文件logging.php
<?php

use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use App\Logging\CreateStackdriverLogger;

return [

    'channels' => [
        'stackdriver' => [
            'driver' => 'custom','via' => CreateStackdriverLogger::class,'level' => 'debug',],...

  1. 在app / bootstrap / app.php中注册我的loggin.php配置文件
$app->configure('logging');

我在做什么错了?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)