laravel/pailとかlog-viewerとかを使ってみる
ここに書いてあったのですが、pailはCLIでログを良い感じにチェックできるツールのようです。使ってみたいと思います。
インストール
下記のようにやりましたが、エラーが出ました。ext-pcntlが必要だそうです。ローカル環境はLaravel HerdでインストールされたPHP8.3を使っていますが、入っていないようです。
> composer require laravel/pailCannot use laravel/pail's latest version v1.1.3 as it requires ext-pcntl * which is missing from your platform.
In PackageDiscoveryTrait.php line 318:
Package laravel/pail has requirements incompatible with your PHP version, PHP extensions and Composer version: - laravel/pail v1.1.3 requires ext-pcntl * but it is not present.あれ、windowsで使えないやつらしい。Laravel HerdはDockerコンテナとか使っていないはずなので、Windowsなので、使えないということか。
これをやってみようかな。。
https://stackoverflow.com/questions/48577465/how-can-i-solve-laravel-horizon-v1-1-0-requires-ext-pcntl-the-requested-ph — stackoverflow.com
composer.jsonにext-pcntlを追加する
下記のようにconfig.platformにext-pcntlを追加します。
"config": { "platform": { "ext-pcntl": "8.0" } },そして、改めてcomposer requireします。
> composer require laravel/pailおー成功しました。実際はないのに成功しました。
pailを実行してみる
> php artisan pail
RuntimeException
The [pcntl] extension is required to run Pail.
at vendor\laravel\pail\src\Guards\EnsurePcntlIsAvailable.php:15 11▕ */ 12▕ public static function check(): void 13▕ { 14▕ if (! function_exists('pcntl_fork')) { ➜ 15▕ throw new RuntimeException('The [pcntl] extension is required to run Pail.'); 16▕ } 17▕ } 18▕ } 19▕
1 vendor\laravel\pail\src\Console\Commands\PailCommand.php:45 Laravel\Pail\Guards\EnsurePcntlIsAvailable::check()
2 vendor\laravel\framework\src\Illuminate\Container\BoundMethod.php:36 Laravel\Pail\Console\Commands\PailCommand::handle(Object(Laravel\Pail\ProcessFactory))pcntlがないよエラーでました。。まあ実際ないですからね。。 やはりダメなようです。うーむということは、WindowsだとDockerとか使わない限り使えなそうだなと思いました。 私は今Laravel Herdに100ドル課金しておりまして、一旦Herdしばりをしていますので、別のログツールを使ってみたいと思います。
log-viewerよさそう
https://github.com/opcodesio/log-viewer — github.com
composer require opcodesio/log-viewerphp artisan log-viewer:publish
おー。もうこれでいいじゃん。素晴らしい。 これ本番環境とかで公開されないのかな。。。一応調べよう。
デフォルトでは、Log Viewer は本番環境では承認されません ( がAPP_ENVに設定されている場合production)。これにより、本番環境でログが誤って漏洩するのを防ぎます。
と書いてあるので、大丈夫そう。
Laravel HerdのLog Viewerは使わないのか?
確かに、これを使いたいところです。下記をクリックするだけで表示されるので便利ですね。

まあ、log-viewerの方が見やすそうではありますが、すぐ開ける利便性は重要だと思います。

しかしながら、、このLog Viewer、現行のバージョンですと、なんと、ドラッグによる移動が出来ません!!ディスプレイの中央に表示され、全く動かすことができないのです。 100ドルのHerdには、どうも不便で不完全な部分も結構あるようです。しかしながら、まあ単純なバグなので、すぐ直るのではないでしょうか? それまでは、Herdじゃない方のlog-viewerを使っていきたいと思います。