Php 如何在lumen/laravel应用程序中使用google云日志记录

Php 如何在lumen/laravel应用程序中使用google云日志记录,php,laravel,logging,google-cloud-platform,lumen,Php,Laravel,Logging,Google Cloud Platform,Lumen,我想知道如何在lumen\laravel应用程序中使用google cloud logging库,但我想知道如何在该框架中以最佳方式实现。lumen似乎与laravel使用相同的日志基础设施。默认情况下,它使用Monolog,这是一个与PSR-3兼容的日志库,但我认为以下代码也适用于使用Google cloud进行日志记录: 创建记录器工厂类: class CreateGoogleCloudLogger { public function __invoke() { $log

我想知道如何在lumen\laravel应用程序中使用google cloud logging库,但我想知道如何在该框架中以最佳方式实现。

lumen似乎与laravel使用相同的日志基础设施。默认情况下,它使用Monolog,这是一个与PSR-3兼容的日志库,但我认为以下代码也适用于使用Google cloud进行日志记录:

创建记录器工厂类:

class CreateGoogleCloudLogger {
    public function __invoke() {
       $logging = new LoggingClient([
          'projectId' => $projectId
       ]);
       return $logging->psrLogger('app');      
    }
}
更改
.env
文件:

LOG_CHANNEL=googlecloud
然后将其添加到
AppServiceProvider
register函数中

config(['logging.channels.googlecloud' => [
    'driver' => 'custom',
    'via' => App\Logging\CreateGoogleCloudLogger::class,
] ]);

这应该使用工厂来创建与PSR-3兼容的记录器。

Lumen似乎与Laravel使用相同的日志基础设施。默认情况下,它使用Monolog,这是一个与PSR-3兼容的日志库,但我认为以下代码也适用于使用Google cloud进行日志记录:

创建记录器工厂类:

class CreateGoogleCloudLogger {
    public function __invoke() {
       $logging = new LoggingClient([
          'projectId' => $projectId
       ]);
       return $logging->psrLogger('app');      
    }
}
更改
.env
文件:

LOG_CHANNEL=googlecloud
然后将其添加到
AppServiceProvider
register函数中

config(['logging.channels.googlecloud' => [
    'driver' => 'custom',
    'via' => App\Logging\CreateGoogleCloudLogger::class,
] ]);

这将使用工厂创建与PSR-3兼容的记录器。

非常感谢。如果我需要直接调用那个频道,我可以使用
Log::channel('googlecloud')->info('Something casted!')是这样吗?是的,共享代码也使其成为默认的日志通道(如果您更改.env)设置,但是如果您不想这样做,那么
log::channel
将允许您有选择地登录到该通道。答案非常有用,感谢您提供的信息。非常感谢。如果我需要直接调用那个频道,我可以使用
Log::channel('googlecloud')->info('Something casted!')是这样吗?是的,共享代码也使其成为默认日志通道(如果您更改.env)设置,但如果您不想这样做,则
log::channel
将允许您有选择地登录到该通道。答案非常有用,感谢您提供的信息。