勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

Laravel 13系でエラーログをブラウザ上で表示・検索できる「log-viewer」の導入方法

  PHP Laravel

先日Laravel 13系でエラーログ設定を行ったが、このログをブラウザ上で表示・検索できるようにしたい。「log-viewer」というパッケージを導入することで希望の挙動になった。以下に導入方法をメモ。

 

log-viewer

公式サイト

https://log-viewer.opcodes.io/

Github

https://github.com/opcodesio/log-viewer

 

対応方法

log-viewerのインストール

サーバにSSH接続して以下でインストールする。

# log-viewerのインストール
podman exec \
    -w 【Laravelをインストールしたディレクトリ】 \
    【コンテナ名】 \
    composer require opcodesio/log-viewer

設定ファイルの作成

短縮コマンドは過去記事を参照。

# 通常の場合
podman exec -w 【Laravelディレクトリ】 【コンテナ名】 php artisan log-viewer:publish --provider="Opcodes\LogViewer\LogViewerServiceProvider"

# 短縮コマンドの場合
pa log-viewer:publish --provider="Opcodes\LogViewer\LogViewerServiceProvider"

この時点でブラウザから「/laravel/log-viewer」にアクセスすると以下のように表示される筈。

(必要に応じて)アクセスIP制限

サーバ側(Nginx)でアクセスIP制限をかけたい場合は過去記事参照。

Laravelで対応する場合は「/app/Providers/AppServiceProvider.php」の以下を追記もしくは変更する。

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

# ユーザーのアクション権限(認可)用を追加
use Illuminate\Support\Facades\Gate;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
        # log-viewer用のゲートを定義を追加
        Gate::define('viewLogViewer', function ($user = null) {
            $allowedIps = [
                '127.0.0.1',       // ローカル環境
                'xxx.xxx.xxx.xxx', // 自身のIPを追加
            ];

            return in_array(request()->ip(), $allowedIps);
        });
    }
}

 - PHP Laravel

  関連記事

Laravel 13系でGET / POSTパラメータを受け取って出力する方法
Laravel 13系でGET / POSTパラメータを受け取って出力する方法

Laravel 13系でフォームから送信したGET / POSTパラメータを受け ...

Laravel 13系でエラーログ設定と出力及び確認方法
Laravel 13系でエラーログ設定と出力及び確認方法

Laravelのエラーログはデフォルト設定だと同じファイルに無制限に追記していく ...

Laravel 13系で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Laravel 13系で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

Laravel 13系でBootstrap 5系のCSS及びJavaScript ...

Podmanコンテナ環境のLaravelのキャッシュクリア方法
Podmanコンテナ環境のLaravelのキャッシュクリア方法

Laravelで何らかのファイルを編集し、アップロードしてもうまく動かない場合が ...

Podmanコンテナ環境にLaravel 13系をインストールしHello Worldページ表示まで行う方法
Podmanコンテナ環境にLaravel 13系をインストールしHello Worldページ表示まで行う方法

先日Podmanコンテナ環境(PHP 8.4.25)にCodeIgniterをイ ...