Как вывести журнал в StackDriver, входящий в fuelPHP - PullRequest
0 голосов
/ 16 марта 2020

Я развернул приложение, созданное топливом PHP в GKE.

Кластер GKE включен Stackdriver Kubernetes Engine Monitoring. https://cloud.google.com/monitoring/kubernetes-engine

Но топливо PHP Log :: xxxx () не выводится для регистрации в стеке драйвера. Затем я изменил конфигурацию. php следующий.

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

Это не работает. (Возникает ошибка '/ dev / stdout не существует').

Как выводить журналы в журналы StackDriver

1 Ответ

0 голосов
/ 19 марта 2020

Я переопределяю ядро ​​/ класс журнала как приложение / журнал.

приложение / классы / журнал. 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);
    }
}

и в приложении / bootstrap. php. Добавьте как в примере

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