Railsのログ出力の設定

公開日 2015-01-17

最終更新日 2015-01-17

Railsのログ出力は、次のファイルにて設定されています。

/etc/logrotate.d/zomeki_logrotate

$ cat zomeki_logrotate
/var/share/zomeki/log/*.log {
  compress
  daily
  dateext
  delaycompress
  missingok
  notifempty
  rotate 7
  }

compress  ローテーションしたログをgzipで圧縮する。
daily  ログを毎日ローテーションする。
dateext ログファイル末尾に日付(YYYYMMDD)を付加する。
delaycompress ログの圧縮作業を次回のローテーション時まで遅らせる。
missingok ログファイルが存在しなくてもエラーを出さずに処理を続行する。
notifempty ログファイルが空ならローテーションしない。
rotate ログファイルを保存する世代数を指定する。7で1週間分となる。

この設定でログをローテーションすると、ログファイルは次のようになります。

$ ll /var/share/zomeki/log/production*
-rw-rw-r-- 1 zomeki zomeki  125992549  1月 17 05:00 2015 production.log
-rw-rw-r-- 1 zomeki zomeki  215225520  1月 12 04:06 2015 production.log-20150111.gz
-rw-rw-r-- 1 zomeki zomeki  200049025  1月 13 03:18 2015 production.log-20150112.gz
-rw-rw-r-- 1 zomeki zomeki  214787992  1月 14 04:48 2015 production.log-20150113.gz
-rw-rw-r-- 1 zomeki zomeki  186551654  1月 15 03:45 2015 production.log-20150114.gz
-rw-rw-r-- 1 zomeki zomeki  172883191  1月 16 03:42 2015 production.log-20150115.gz
-rw-rw-r-- 1 zomeki zomeki  148837181  1月 17 03:34 2015 production.log-20150116.gz
-rw-rw-r-- 1 zomeki zomeki 1817236741  1月 17 03:34 2015 production.log-20150117

ログファイルがローテーションされる時刻は、次のページで説明されています。
http://luna2-linux.blogspot.jp/2013/01/centos6-crondaily-centos5.html

anacrontabの内容を確認すると、RANDOM_DELAY=240、4時間となっています。
このためログのローテーションが実行されるのは、3時6分から7時6分の間となります。

# cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=240
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1       5       cron.daily              nice run-parts /etc/cron.daily
7       25      cron.weekly             nice run-parts /etc/cron.weekly
@monthly 45     cron.monthly            nice run-parts /etc/cron.monthly