Ruby on Rails
Railsロガー
サーチ…
Rails.logger
puts
ではなく、常にRails.logger.{debug|info|warn|error|fatal}
puts
。これにより、ログが標準のログ形式に収まるようになり、タイムスタンプを持ち、特定の環境で表示するのに十分な重要性を持つレベルを選択できるようになります。あなたのアプリケーションの別々のログファイルは、 log/
ディレクトリの下で、あなたのrailsアプリケーション環境名と一緒に見ることができます。 development.log
、 production.log
、 staging.log
ようなものです
LogRotateを使用してレール生産ログを簡単に回転することができます。以下のように小さな構成を行うだけです
/etc/logrotate.conf
をあなたの好きなLinuxエディタvim
やnano
開き、このファイルの下に以下のコードを追加します。
/YOUR/RAILSAPP/PATH/log/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
だから、 それはどのように動作するこれは非常に簡単です。コンフィギュレーションの各ビットは次の処理を行います。
- 毎日 - 毎日ログファイルを回転させます。代わりに、毎週または毎月使用することもできます。
- missingok - ログファイルが存在しない場合は無視します。
- 回転7 - 7日間だけログを保存する
- compress - 回転時にログファイルをGZipする
- delaycompress - ファイルを1日ローテーションし、翌日に圧縮して、Railsサーバと干渉しないことを確認します
- notifempty - ログが空の場合はファイルをローテーションしない
- copytruncate - ログファイルをコピーしてから空にします。これは、ファイルが実際には変更されないため、問題が発生しないように、Railsログファイルが常に存在するように書いていることを確認します。これを使用しない場合は、毎回Railsアプリケーションを再起動する必要があります。
Logrotateの実行この設定を書き終えてから、それをテストしたいと思っています。
logrotateを手動で実行するには、次のようにしますsudo /usr/sbin/logrotate -f /etc/logrotate.conf
それでおしまい。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow