转:http://www.iteye.com/topic/767333
# 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
相关推荐
监控和日志管理也很重要,如使用New Relic、Lograge等工具。 10. **测试**: Rails鼓励TDD(测试驱动开发),包括单元测试、集成测试和功能测试。RSpec、Capybara等库可以帮助编写和运行这些测试,确保代码质量。 ...
标题中的“Web开发敏捷之道--应用Rails进行敏捷Web开发 之 Depot代码”表明这是一个关于使用Ruby on Rails框架进行敏捷Web开发的示例项目,名为Depot。Ruby on Rails(简称Rails)是一个开源的Web应用程序框架,它...
**标题与描述**:本书《Rails敏捷开发,我的成功之路》是一本详细介绍如何使用Rails框架进行高效、快速的网站开发的专业书籍。作者通过丰富的实例来阐述Rails框架的优势及其在敏捷开发中的应用。 **详细说明**:...
- **Bundler**:Bundler是Rails项目中用来管理依赖库的工具。它确保项目能够一致地运行在不同的环境中,并且可以轻松地添加或移除依赖库。 - **启动和应用设置**:这部分介绍如何配置Rails项目的启动过程以及如何...
学习如何进行版本控制、配置管理、日志记录和监控。 7. **Rails插件与Gem**:Rails社区提供了丰富的插件和Gem,如Devise用于身份验证,Paperclip或Carrierwave处理文件上传,Resque或Sidekiq实现后台任务队列。掌握...
- **Gemfile**:定义项目依赖的Gem(Ruby的包管理器),通过`bundle install`安装。 - **Database Migration**:数据库结构的变化会通过迁移文件来实现,运行`rake db:migrate`进行更新。 - ** erb**:ERB...
Rails 4.0.0是Ruby on Rails框架的一个重要版本,它在2013年发布,带来了许多...以上就是Rails 4.0.0的主要知识点,这些改进和特性使得Rails更加高效、安全且易于维护,成为了开发者构建现代web应用的首选框架之一。
3. Rails 3.2: Rails 3.2进一步优化了性能,引入了低延迟的LogSubscriber,提升了日志记录的效率。ActiveRecord的查询性能得到提升,例如添加了`pluck`方法,可以直接获取数据库列的值。此外,`rails generate ...
文件会介绍 `rails console`、`binding.pry`、`puts` 输出和 `debugger` 语句的使用,以及如何利用 Rails 的日志系统和测试套件进行调试。 6. **Asset Pipeline**: Rails 的 Asset Pipeline 提供了一种管理应用程序...
可以使用如Logrotate来管理日志文件,Prometheus和Grafana组合进行性能监控,以及使用如New Relic或Sentry来跟踪错误和性能问题。 9. **安全考虑**: 部署时应确保Nginx配置文件的安全性,避免泄露敏感信息,如...
在Rails 4.2.0中,最重要的更新之一是Active Record的`change`方法。这个方法允许开发者在模型上追踪所有改变,包括属性的修改、关联的添加和删除。这在日志记录、审计跟踪或者实现撤销操作时非常有用。 另一个重要...
1. **Gemfile**:列出项目依赖的Ruby gems(库),Rails和其他第三方库都通过Gemfile来管理。 2. **Gemfile.lock**:记录项目的精确gem版本,确保在不同环境中部署时保持一致性。 3. **config/**:配置文件夹,...
InspiniaAdmin 2.6.1 Rails Full Version 是一个专为Web应用开发设计的全面的后台管理框架,它基于Ruby on Rails框架,为开发者提供了一整套强大的功能,帮助他们快速构建高效、美观的后台管理系统。此版本的...
在 Rails3 中,rake 不仅用于基本的项目管理,还可以用于启动后台任务,这在处理耗时操作、异步任务或者批量数据处理时非常有用。后台任务可以避免阻塞用户界面,提高应用程序的响应速度。以下是一些关于如何在 ...
综上所述,`weixin_rails_middleware` 是一款强大且易于使用的工具,能够帮助 Ruby on Rails 开发者无缝集成微信服务,实现各种定制化的微信功能,如自动回复、用户管理、消息推送等。通过深入理解其工作原理和使用...
### Java基础之Rails命令大全知识点解析 #### 一、Rails 命令概述 Rails 是一个用于 Web 开发的框架,它基于 Ruby 语言。Rails 遵循 MVC(Model-View-Controller)架构模式,使得 Web 应用程序的开发更加高效、简洁...
- **前提条件**:为了能够顺利地开始Rails的学习之旅,读者需要具备一定的Ruby语言基础,并且对Web开发有一定的了解。 - **Rails是什么?**:Rails是一种用于开发服务器端应用程序的模型-视图-控制器(MVC)框架,它...
第九章讨论了 **文件上传** 的实现方式,这是 Web 应用中常见的功能之一。 - **文件上传**: - 实现用户可以上传图片、文档等文件的功能。 - 需要考虑安全性问题,防止恶意文件上传。 - 可以使用第三方服务,如 ...
- **Rails的详细配置**:提到了Rails的详细配置,这可能包括数据库连接的配置、日志配置和环境配置等。 - **字符编码问题**:文档中出现了“Latin1StandardCharacterS”,这可能指的是Rails在处理不同字符编码时的...