`

rails 切割日志 logrotate

阅读更多
# append to config\environment.rb
#web访问日志
RAILS_DEFAULT_LOGGER = Logger.new("#{RAILS_ROOT}/log/#{RAILS_ENV}#{Date.today.to_s}.log", "daily") 


#sql日志
ActiveRecord::Base.logger = Logger.new("#{RAILS_ROOT}/log/sql/#{RAILS_ENV}#{Date.today.to_s}.log", "daily")


这个方式以前在实际在生产环境中使用发现是有问题的,因为生产环境是多app进程,而日志的I/0被在第一个进程中打开后就阻塞了其他进程的写入。

可以用logrotate,logrotate配置如下:

logrotate是一个让日志文件自动按周期归档的工具。以避免日志文件过大。
1. 安装
Ubuntu:
$ sudo apt-get install logrotate

redhat:
$ sudo yum install logrotate

2. 配置
$ sudo vim /etc/logrotate.conf
/path_to_app/log/production.log {
daily #按日阶段
missingok
rotate 7 #保留7天
compress #压缩
delaycompress #不压缩前一个(previous)截断的文件(需要与compress一起用)
dateext #增加日期作为后缀,不然会是一串无意义的数字
copytruncate #清空原有文件,而不是创建一个新文件
}

3. 让配置生效
sudo /usr/sbin/logrotate /etc/logrotate.conf



logrotate 配置详解:http://hi.baidu.com/zhhx818/blog/item/b371e34bf42151fe82025c16.html
分享到:
评论

相关推荐

    Ruby-Rails日志分析器查看您的视图渲染的速度

    本话题主要关注如何使用Ruby编写日志分析器来洞察Rails应用中视图渲染的速度,从而优化整体性能。 首先,日志文件在Ruby on Rails中扮演着至关重要的角色,它们记录了应用程序运行时的详细信息,包括数据库查询、...

    logidze:Rails的数据库更改日志

    Logidze允许您(使用触发器)创建数据库级别的日志,并为您提供浏览此日志的API。 日志与记录本身一起存储在JSONB列中。 无需其他表格。 :thinking_face: 其他需求: Ruby〜> 2.5 Rails> = 5.0(对于Rails 4.2,...

    Rails项目源代码

    监控和日志管理也很重要,如使用New Relic、Lograge等工具。 10. **测试**: Rails鼓励TDD(测试驱动开发),包括单元测试、集成测试和功能测试。RSpec、Capybara等库可以帮助编写和运行这些测试,确保代码质量。 ...

    Rails101_by_rails4.0

    《Rails101_by_rails4.0》是一本专注于Rails 4.0.0版本和Ruby 2.0.0版本的自学教程书籍,它定位于中文读者,旨在成为学习Rails框架的参考教材。Rails(Ruby on Rails)是一个采用Ruby语言编写的开源Web应用框架,它...

    rails 部署 nginx

    可以使用如Logrotate来管理日志文件,Prometheus和Grafana组合进行性能监控,以及使用如New Relic或Sentry来跟踪错误和性能问题。 9. **安全考虑**: 部署时应确保Nginx配置文件的安全性,避免泄露敏感信息,如...

    shog:Rails 4和5应用程序的简单彩色日志记录

    Rails 4和5应用程序的简单彩色日志记录。 有很多日志框架可以使标记(例如时间戳,日志级别等)更加丰富多彩-但是文本行中的细节呢? 用来发出请求的HTTP方法呢? 渲染时间呢? Shog添加了一些颜色来突出显示上...

    rails向导打包

    文件会介绍 `rails console`、`binding.pry`、`puts` 输出和 `debugger` 语句的使用,以及如何利用 Rails 的日志系统和测试套件进行调试。 6. **Asset Pipeline**: Rails 的 Asset Pipeline 提供了一种管理应用程序...

    关于rails 3.1 cucumber-rails 1.2.0

    Rails 3.1 和 Cucumber-Rails 1.2.0 是两个在Web开发领域非常重要的工具,尤其对于Ruby on Rails框架的测试和自动化流程。本文将深入探讨这两个组件,以及它们如何协同工作来增强软件开发的效率和质量。 首先,...

    browserlog, 在你的浏览器中,观看 Rails 日志.zip

    browserlog, 在你的浏览器中,观看 Rails 日志 项目状态项目已经被存档,它的开发停止。 我对维护它没有什么兴趣。 欢迎 fork 并享受乐趣: Browserlog Browserlog是 Rails 应用程序的实时网络日志查看器。 特性自动...

    The Rails 4 Way

    - **日志记录**:Rails提供了丰富的日志记录机制,帮助开发者监控应用程序的运行状态。 **2. 路由** - **路由的目的**:路由定义了URL与应用程序内部逻辑之间的映射关系,它是控制请求处理流程的关键部分。 - **...

    Ruby on Rails Guides v2 - Ruby on Rails 4.2.5

    ### Ruby on Rails Guides v2 - Ruby on Rails 4.2.5 #### 一、重要概念及基础假设 - **重要概念**:本指南旨在帮助读者深入理解Ruby on Rails(以下简称Rails)4.2.5版本的核心功能与最佳实践。 - **基础假设**:...

    rails 项目起步示例

    6. **log**:应用的日志文件。 7. **public**:静态资源,如图片、CSS和JavaScript文件,可以直接被浏览器访问。 8. **test**:测试代码,Rails支持TDD(Test-Driven Development)和BDD(Behavior-Driven ...

    rails2-sample

    从给定的文件信息来看,我们正在探讨的是一本关于Ruby on Rails的书籍,书名为《Simply Rails2》,作者是Patrick Lenz。本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    Rails进行敏捷Web开发(所有版本的源码rails3.0-4.0)

    3. Rails 3.2: Rails 3.2进一步优化了性能,引入了低延迟的LogSubscriber,提升了日志记录的效率。ActiveRecord的查询性能得到提升,例如添加了`pluck`方法,可以直接获取数据库列的值。此外,`rails generate ...

    使用Aptana+Rails开发Rails Web应用(中文)

    在开发Web应用时,Ruby on Rails(简称Rails)框架因其高效、简洁的代码风格和强大的社区支持而备受青睐。Aptana是一款强大的集成开发环境(IDE),尤其适用于Rails项目的开发,它提供了丰富的特性来提升开发效率。...

    Rails

    标题 "Rails" 指的是 Ruby on Rails,一个开源的Web应用程序框架,它基于Ruby编程语言,遵循MVC(模型-视图-控制器)架构模式。Rails由David Heinemeier Hansson在2004年创建,其设计理念是强调代码的简洁性、DRY...

    Advanced Rails

    学习如何进行版本控制、配置管理、日志记录和监控。 7. **Rails插件与Gem**:Rails社区提供了丰富的插件和Gem,如Devise用于身份验证,Paperclip或Carrierwave处理文件上传,Resque或Sidekiq实现后台任务队列。掌握...

    [Rails] Crafting Rails Applications (英文版)

    [Pragmatic Bookshelf] Crafting Rails Applications Expert Practices for Everyday Rails Development (E-Book) ☆ 图书概要:☆ Rails 3 is a huge step forward. You can now easily extend the framework, ...

Global site tag (gtag.js) - Google Analytics