![見出し画像](https://assets.st-note.com/production/uploads/images/98457836/rectangle_large_type_2_ff2c9e8da37dff0a43f48b6761e453fb.png?width=1200)
【Laravel】Log Viewerでログファイルを可視化して運用を効率化
Laravelを本番環境で運用している際、ログファイルを確認する作業(特定のログの検索や、そもそもログファイルを見に行くという行為自体)を効率化できないかと思いまして色々と探してみたら、なかなか良さげなパッケージがあったので試してみました。
Log Viewerについて
storage/logs配下のログファイルをブラウザ上に可視化するパッケージです。
公式:https://log-viewer.opcodes.io/
GitHub:https://github.com/opcodesio/log-viewer
You will no longer need to read the raw Laravel log files trying to find what you're looking for.
Log Viewer helps you quickly and clearly see individual log entries, to search, filter, and make sense of your Laravel logs fast. It is free and easy to install.
開発者はこちらの方です。
Well there you have it. It's time for a release 🚀
— Arunas Skirius 📦 (@arukomp) August 20, 2022
Written from scratch with efficiency in mind, I give you a Log Viewer for #Laravel that you'll actually want to use. Enjoy!https://t.co/d4dzvCRnvh
紹介動画もありました↓
😎特徴
・キーワードや正規表現で検索できる
・ログレベルでフィルタリングできる
・個別のログに共有用のリンク
・ダークモード切り替え
などなど
🚀試してみる
要件
PHP 8.0+
Laravel 8+
※ composerのバージョンが1系だとエラーになるようです。
インストール
composer require opcodesio/log-viewer
確認
/log-viewerにアクセスするとログの一覧が表示されるはずです。
![](https://assets.st-note.com/img/1676518134339-QwNdyunHiE.png?width=1200)
各ログの右端の数字をクリックすると、共有リンクをコピーできます。
画面左側にはstorage/logs配下のログファイルが一覧表示されています。
ファイル名横のメニューアイコンをクリックすると、ダウンロードや削除が行えることが確認できます。
![](https://assets.st-note.com/img/1676518269387-PJh4oJrZgM.png?width=1200)
ログレベルをWARNINGとERRORだけに絞ってみるとこんな感じです。
(画像黄色枠の部分でフィルタリングしています)
![](https://assets.st-note.com/img/1676518306649-XMB4eksFdZ.png?width=1200)
設定
デフォルトの状態でも充分ですが、追加で設定を行いたい場合はこちらのコマンドでconfig/log-viewer.phpを作成します。
php artisan vendor:publish --tag="log-viewer-config"
route_pathでログ閲覧のパスを変更したり、exclude_filesで除外するファイルを設定したりできるようです。
特定の環境だけLog Viewerをオフにしたい場合は、.envファイルにLOG_VIEWER_ENABLED=falseを設定すれば実現できます。
その他、実際に本番環境等で運用するためにアクセス制限を行う方法は、公式ドキュメントのこちらで紹介されています。
https://log-viewer.opcodes.io/docs/configuration/access-to-log-viewer
まとめ
UIはシンプルで見やすく、操作感も良かったです。
個人的に特定のログをリンクでシェアできるのは結構便利なのではないかと感じました。
ログページへのアクセス制限の実装は必要になりますが、気軽に導入できて運用の効率化を実現できるパッケージだと思います。
プラスジャム製作開発部メンバーがWeb制作技術を紹介。
案件で実装した機能や自己学習で得た知識を発信していきます。
[今回の記事担当]バックエンドエンジニア k.m