Ruby on rails日志文件太大

Jas*_*son 28 logging ruby-on-rails filesize ruby-on-rails-3.1

我偶然发现我的rails3.1日志文件超大,大约21mb.就尺寸而言,这是正常的吗?日志文件在生产环境中的含义是什么?此外,我可以摆脱日志吗?谢谢

Raj*_*oit 72

logRails应用程序的文件夹包含对应于每个标准环境的三个日志文件.日志文件随着时间的推移会变得非常大.rake task提供A 以允许轻松清除日志文件.

rake log:clear
# Truncates all *.log files in log/ to zero bytes 
# Specify which logs with LOGS=test,development,production
Run Code Online (Sandbox Code Playgroud)

  • 这个anwser应该被接受了.在乘客部署时,一旦删除了日志文件,rails就不会创建新的日志文件. (5认同)

Mic*_*ant 25

你可以删除该文件!
如果不存在,Rails将创建一个新日志.
显然保存/备份文件,如果它很重要,但通常不是.
如果要将其保留在同一驱动器上但仍可节省空间,也可以压缩备份文件(然后删除源文件).

要自动旋转日志文件(最佳长期解决方案),请使用日志旋转,如下所述:

Ruby on Rails生产日志轮换

然后你可以设置并忘记它!

要实际更改记录的内容,请参阅:

http://dennisreimann.de/blog/silencing-the-rails-log-on-a-per-action-basis/


Fel*_*ger 8

根据文档,如果要限制日志文件夹的大小,请将其放在"development.rb"文件中:

config.logger = ActiveSupport::Logger.new(config.paths['log'].first, 1, 50 * 1024 * 1024)
Run Code Online (Sandbox Code Playgroud)

有了这个,您的日志文件永远不会超过50Mb.您可以根据自己的喜好更改大小.第二个参数中的"1"表示将保留1个历史日志文件,因此您将拥有最多100Mb的日志 - 当前日志和前一个50Mb的块.


hta*_*ata 5

你可能想用logrotate.看看这个问题的答案:Ruby on Rails生产日志轮换.


Dre*_*ens 5

我会自动清除每台服务器上的开发日志,开头为config/initializers/clear_development_log.rb

if Rails.env.development?
  `rake log:clear`
end
Run Code Online (Sandbox Code Playgroud)