CakePHP3・Herokuでconsoleログを見たい

CakePHP3・Herokuでconsoleログを見たいっていう時ありますよね。

特に自分が設定したログの出力方法がconsoleログだったので、気になっていました。

恥ずかしながらHerokuでの見方が自分はググってもわからなかったので、その見方を説明します。

ちなみにスクール時代の講師の方に頼って教えていただきました。

それでは見ていきましょう。

【自分の環境】
macOS Catalina
PHP7.4.2
CakePHP3.8
MAMP5.7
Apache2.2
MySQL5.7

ログ設定の確認

ログ設定はapp.phpですね。

Herokuを使っている方はapp_heroku.phpかもしれません。

自分は以下のようになっています。

'Log' => [
        'debug' => [
            'className' => 'Cake\Log\Engine\ConsoleLog',
            'stream' => 'php://stdout',
            'levels' => ['notice', 'info', 'debug'],
        ],
        'error' => [
            'className' => 'Cake\Log\Engine\ConsoleLog',
            'stream' => 'php://stderr',
            'levels' => ['warning', 'error', 'critical', 'alert', 'emergency'],
        ],
    ],

classNameがconsoleなことから、consoleログとして出力することがわかります。

fileログの方はclassNameがfileになっていると思います。

今回はconsoleログの見方なので、その見方をご紹介します。

Herokuコマンドを使う

Herokuコマンドを使うだけです。

ターミナルで、アプリのディレクトリに移動し「heroku logs」 と打ちます。

するとログがバーっと出てきます。

ログ記録 | Heroku Dev Center

このHeroku公式ドキュメントのログ記録にいろいろ載っています。

少し補足すると、さっきのログは過去ログしか見れません。

リアルタイムでログを見たい場合は「heroku logs --tail」と打ちます。

これらは先ほどのHeroku公式ドキュメントのログ記録にも載っていますので、見てみてください。

終わりに

以上となります。

ログはセキュリティ的に外せないので、見方を知っておきたいですよね。

これでconsoleログは見れると思います。

fileログは?という方のために、次回fileログについてお話します。

とはいえ、ただの受け売りですが…。

ありがとうございました。