[解決済み] Ruby on Railsのプロダクションログのローテーション
2022-04-20 10:20:12
質問
Ruby on Railsの本番アプリでログローテーションを有効にする最良の方法は何ですか?
ホスティングサーバーでlogrotateを使用するのか、アプリからloggerを初期化する際に使用するオプションがあるのでしょうか?
解決方法は?
オプション1: syslog + logrotate
システムログツールを使用するように rails を設定することができます。
の例です。 config/environments/production.rb .
# Use a different logger for distributed setups
config.logger = SyslogLogger.new
この方法では、syslogにログを記録し、デフォルトのlogrotateツールを使ってログをローテートすることができます。
オプション2:通常のRailsログ+logrotate
もう一つの選択肢は、railsが残したログを拾うようにlogrotateを設定するだけです。
UbuntuやDebianでは、例えば以下のようなファイルになります。
/etc/logrotate.d/rails_example_com
.
/path/to/rails.example.com/tmp/log/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
copytruncate
}
以下の提案にあるように、Railsでは
copytruncate
Railsアプリを再起動する必要がないようにするためです。
編集: "sharedscripts/endscript" は、ここでは使われておらず、コメントによると問題を引き起こすので削除しました。また
create 640 root adm
コメント通りです。
関連
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] 文字列フォーマット:% vs. .format vs. f-stringリテラル
-
[解決済み] svn log -v' のように 'git log' にファイル名を表示させる方法
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby on Railsのマイグレーションで、カラムをユニークにしてインデックスを作成するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで、DateTime、Timestamp、Time、Dateの違いは何ですか?
-
[解決済み] Ruby on Rails 3.1でアセットパイプライン(sprockets)メッセージのロギングを無効にするにはどうすればよいですか?
-
[解決済み】RailsでActiveRecordモデルとそのテーブルの名前を変更するマイグレーションはどのように記述するのですか?
-
[解決済み】Railsのプロダクションでconfig.assets.compile=true、なぜダメなのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】なぜRuby on Railsは、http://localhost:3000 の代わりに http://0.0.0.0:3000 を使用するのですか?
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] 属性とカラムの違いは何ですか?