LoginSignup
0
0

ログを確認するのに毎回Railsアプリを立ち上げるのは意外と辛い

Posted at

はじめに

Railsの開発を進める中で、rails serverが起動するまでの待ち時間が意外とストレスでした。
一方で、development.logに出力されるログは多すぎて...

そこで、リクエスト時のログを各コントローラのアクションごとに管理できるよう、各フォルダに分割して出力するgemを作成してみました。

custom_log_space | RubyGems.org | コミュニティのgemホスティングサービス

インストール方法

Gemfileに以下のようにgem 'custom_log_space'を追加して、bundle installを実行してください。

group :development do
  + gem 'custom_log_space'
end

使い方

ローカルでrailsアプリを立ち上げて、画面にアクセスすると、log/custom_log_spaceディレクトリ配下に、以下の命名規則で、ログが出力されます。

log/custom_log_space/#{コントローラー名}/#{アクション名}/#{日付}/#{時刻}.log

user log % tree
.
├── custom_log_space
│   └── articles_controller
│       ├── index
│       │   ├── 2023-09-19
│       │   │   ├── 09:13.log
│       │   │   └── 20:00.log
│       │   └── saved
│       └── show
│           ├── 2023-09-18
│           │   ├── 21:29.log
│           │   └── 22:02.log
│           ├── 2023-09-19
│           │   └── 20:00.log
│           └── saved
└── development.log

ログの保持ポリシー

  • #{日付}フォルダの最大保持数は2つ、#{時刻}.logは最大で10ファイルです。これを超えると、古いファイルから順に削除されます。
  • 重要なログはsavedディレクトリ配下に移してください。
    log/custom_log_space/#{コントローラー名}/#{アクション名}/saved/

注意点

  • 一度のリクエストで複数のコントローラーのアクションが呼び出される場合、ログはそれぞれのアクションごとのフォルダに分けられます。このため、ログの追跡方法に注意が必要です。
  • ただし、このgemを導入しても既存のdevelopment.logへの出力に変更はないため、引き続きそちらを参照することが可能です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0