laravel - 如何连接 Laravel Lumen 和 Stackdriver
问题描述
Lumen 应用需要与 GCP stackdriver 连接。app\Logging
使用以下内容创建一个新的记录器文件
class AppStackdriverLogger
{
public function __invoke(array $config)
{
// putenv("GOOGLE_APPLICATION_CREDENTIALS=/storage/app/iprocure-app.json");
$logging = new LoggingClient([
'projectId' => env('GOOGLE_CLOUD_PROJECT_ID'),
'keyFilePath' => storage_path("app/iprocure-app.json"),
]);
$logger = $logging->psrBatchLogger('app');
// $logger = LoggingClient::psrBatchLogger('app');
$handler = new PsrHandler($logger);
return new Logger('stackdriver', [$handler]);
}
}
记录器文件实例化一个新的记录器,该记录器写入GCP Stackdriver Logging
并在config\logging.php
自定义句柄上添加,如下所示
'stackdriver' => [
'driver' => 'custom',
'via' => App\Logging\AppStackdriverLogger::class,
],
其中 .env LOG_CHANNEL 指向它。
问题是当我尝试像这样在控制器中的某个位置登录时Log::debug("Somewhere in controller debug");
,请求正常,但我在 Stackdriver Logging Logs Viewer 中看不到任何日志 Lumen 应用程序如何将日志写入 Stackdriver Logging。
解决方案
推荐阅读
- ubuntu - iwconfig - /proc/net/wireless 不存在
- python - 带有 virtualenv 的 Ansible winrm
- angularjs - 使用 AngularJS 读取对象
- java - 在我的代码中使用扫描仪时,如何解决找不到行的错误?
- swift - 无法将“NSTaggedPointerString”类型的值转换为“NSDictionary”
- asp.net - ASP.NET 中的 reactjs 与 razor 哪个更适合 seo?
- ios - 如何打开 .swiftmodule 文件
- java - 每个请求执行缓存
- python - Python:无法迭代模拟对象中的模拟数据库值
- android - 创建像选项菜单项一样的吐司点击并按住消息