对于Rails 3.1(很快就会是3.2),我有非常详细的日志,其中有大量额外的工作人员信息涌入其中。
我经常以多GB development.log
个文件结束。我已经看到有关旋转生产日志的各种各样的讨论,但是我没有找到任何似乎适用于development.log
轮换的内容。
如何在每development.log
左右轮换100.megabytes
?或者我最喜欢的是实际截断文件的头部,以便只有最新版本项目保留在日志中,最多可达100MB。
我已经玩过这个了,并且我正在考虑的事情比目前存在的更多,而且也许我应该实现一些会以某种方式使用ruby File.truncate
的东西,但是我不确定到目前为止,这个功能还在文件的尾端。
答案 0 :(得分:10)
您实际上可以告诉Ruby Logger类在构造函数中旋转文件:
http://corelib.rubyonrails.org/classes/Logger.html#M000163
示例:
Logger.new(name, shift_age = 7, shift_size = 1048576)
在我的一个enrivornment文件中,我有以下几行:
config.logger = Logger.new("#{RAILS_ROOT}/log/#{ENV['RAILS_ENV']}.log", 10, 1048576)
这将保留最后10个每1 MB旋转一次的日志文件。
答案 1 :(得分:1)