如何在FuelPHP中将日志输出到StackDriver日志记录

时间:2020-03-16 08:55:42

标签: kubernetes google-kubernetes-engine stackdriver google-cloud-stackdriver fuelphp

我部署的应用程序是由GKE上的fuelPHP创建的。

已启用GKE群集Stackdriver Kubernetes引擎监视。 https://cloud.google.com/monitoring/kubernetes-engine

但是fuelPHP的Log :: xxxx()不会输出到堆栈驱动程序日志记录中。 然后我在下面修改了config.php。

//'log_path' =>APPPATH. 'logs',
'log_path' => '/dev/stdout',

不起作用。(发生错误'/ dev / stdout不存在')。

如何将日志输出到StackDriver日志记录?

1 个答案:

答案 0 :(得分:0)

我将core / Log类重写为app / Log。

app / classes / log.php

<?php

class Log extends \Fuel\Core\Log
{
    public static function initialize()
    {

        //$stream = new \Monolog\Handler\StreamHandler($filename, \Monolog\Logger::DEBUG);
        $stream = new \Monolog\Handler\StreamHandler('php://stdout', \Monolog\Logger::DEBUG);
        $formatter = new \Monolog\Formatter\LineFormatter("%level_name% - %datetime% --> %message%".PHP_EOL, "Y-m-d H:i:s");
        $stream->setFormatter($formatter);
        static::$monolog->pushHandler($stream);
    }
}

和在app / bootstrap.php中。 在示例中添加为

// Example: 'Log' => APPPATH.'classes/log.php',