Rails.logger
总是使用 Rails.logger.{debug|info|warn|error|fatal}
而不是 puts
。这允许你的日志适合标准日志格式,具有时间戳并具有级别,因此你可以选择它们是否足够重要以在特定环境中显示。你可以使用 rails app 环境名称在 log/
目录下查看应用程序的单独日志文件。喜欢:development.log
或 production.log
或 staging.log
你可以使用 LogRotate 轻松旋转 rails 生产日志。你只需进行如下小配置即可
用你最喜欢的 linux 编辑器 vim
或 nano
打开/etc/logrotate.conf
,并在底部的此文件中添加以下代码。
/YOUR/RAILSAPP/PATH/log/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
copytruncate
}
那么,它是如何工作的这非常简单。配置的每一位都执行以下操作:
- 每日 - 每天轮换日志文件。你也可以在此处使用每周或每月。
- missingok - 如果日志文件不存在,请忽略它
- 旋转 7 - 仅保留 7 天的日志
- compress - 旋转时 GZip 日志文件
- delaycompress - 旋转文件一天,然后第二天压缩它,这样我们就可以确定它不会干扰 Rails 服务器
- notifempty - 如果日志为空,请不要旋转文件
- copytruncate - 复制日志文件,然后清空它。这可以确保 Rails 写入的日志文件始终存在,因此你不会遇到问题,因为文件实际上没有更改。如果你不使用它,则每次都需要重新启动 Rails 应用程序。
运行 Logrotate 由于我们刚刚编写了此配置,因此你需要对其进行测试。
要手动运行 logrotate,只需执行:sudo /usr/sbin/logrotate -f /etc/logrotate.conf
而已。