將rails的development log做rotate
2016-02-02 09:23:49

我無意間發現一直沒在注意的development log竟然長到了100M,著時讓我嚇了一跳(尤其是不小心用Atom將它打開的時候…)。其實在production都會做的log rotation,在development也可以做,只要在environment中改掉預設的logger就可以嘍。

config/environments/development.rb
Rails.application.configure do
  # ...
  # Setup logger for development
  config.logger = Logger.new(Rails.root.join("log","#{Rails.env}.log"), 10, 1048576)
  # ...
end

心得

為了這個問題,我trace了一下rails的source code,這邊做個記錄:

  • rails預設是用ruby原生的logger,所以我們可以利用上面的方式改掉內建的log。
  • 現在才知道ruby的logger內建就有rotation的功能,是我lag太久了嗎?

Refs