【Laravel】Log Viewerでログファイルを可視化して運用を効率化
Laravelを本番環境で運用している際、ログファイルを確認する作業(特定のログの検索や、そもそもログファイルを見に行くという行為自体)を効率化できないかと思いまして色々と探してみたら、なかなか良さげなパッケージがあったので試してみました。
Log Viewerについて
storage/logs配下のログファイルをブラウザ上に可視化するパッケージです。
公式:https://log-viewer.opcodes.io/
GitHub:https://github.com/opcodesio/log-viewer
開発者はこちらの方です。
紹介動画もありました↓
😎特徴
・キーワードや正規表現で検索できる
・ログレベルでフィルタリングできる
・個別のログに共有用のリンク
・ダークモード切り替え
などなど
🚀試してみる
要件
インストール
composer require opcodesio/log-viewer
確認
/log-viewerにアクセスするとログの一覧が表示されるはずです。
各ログの右端の数字をクリックすると、共有リンクをコピーできます。
画面左側にはstorage/logs配下のログファイルが一覧表示されています。
ファイル名横のメニューアイコンをクリックすると、ダウンロードや削除が行えることが確認できます。
ログレベルをWARNINGとERRORだけに絞ってみるとこんな感じです。
(画像黄色枠の部分でフィルタリングしています)
設定
デフォルトの状態でも充分ですが、追加で設定を行いたい場合はこちらのコマンドで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はシンプルで見やすく、操作感も良かったです。
個人的に特定のログをリンクでシェアできるのは結構便利なのではないかと感じました。
ログページへのアクセス制限の実装は必要になりますが、気軽に導入できて運用の効率化を実現できるパッケージだと思います。