学习ruby保姆级入门:

http://ruby.zhihuichina.net.cn

日志是我们调试的最重要的手段,没有之一。

我们可以通过debug, 断点来人肉找到问题,但是如果没有把信息保存到文件中,就无法 事后找到线索。

最好的日志应该是 每日分卷, 有时间戳,可以控制输入级别。

在ruby中,虽然有自带的logger, 但是跟log4j还是有很大距离的。也很麻烦。 所以,就出现了log4r ( log for ruby ).

使用步骤 1.新建一个log4r的配置文件: config/log4r.yml

log4r_config:# define all loggers ...loggers:- name      : productionlevel     : WARNtrace     : 'false'outputters :- datefile- name      : developmentlevel     : DEBUGtrace     : 'true'outputters :- datefile# define all outputters (incl. formatters)outputters:- type: DateFileOutputtername: datefiledirname: "log"filename: "my_app.log" # notice the file extension is needed!formatter:date_pattern: '%H:%M:%S'pattern     : '%d %l: %m 'type        : PatternFormatter

2.修改config/application.rb

require 'rails/all'
# add these line for log4r
require 'log4r'
require 'log4r/yamlconfigurator'
require 'log4r/outputter/datefileoutputter'
include Log4rBundler.require(:default, Rails.env) if defined?(Bundler)
module Zurichclass Application < Rails::Application#...# assign log4r's logger as rails' logger.log4r_config= YAML.load_file(File.join(File.dirname(__FILE__),"log4r.yml"))YamlConfigurator.decode_yaml( log4r_config['log4r_config'] )config.logger = Log4r::Logger[Rails.env]end
end

3.修改Gemfile, 增加log4r的配置. 注意版本不能低于 1.1.9.否则不支持每日分卷

gem 'log4r', '1.1.9'

4.如果你用的是Rails4, 那么需要增加下面这个文件

# config/initializers/log4r_patch_for_rails4.rb
class Log4r::Loggerdef formatter()end
end

现在就可以了。 进入到你的 Rails.root, 重启rails, 就会发现log目录开始分卷了。

May  9 17:05 rails_2011-05-09.log
May 10 13:42 rails_2011-05-10.log

日志的内容看起来如下:

$ tail log/rails_2011-05-10.log
Started GET "/????_settings/19/edit" for 127.0.0.1 at ...
13:42:11 INFO:   Processing by ????SettingsController ...
13:42:11 INFO:   Parameters: {"id"=>"19"}
13:42:12 DEBUG:   ????Setting Load (0.0ms)  SELECT "d ...
13:42:12 INFO: Completed 200 OK in 750ms

ruby on rails 日志: log4r相关推荐

  1. 如何使用Docker轻松设置Ruby on Rails开发环境

    You've likely heard about Docker terms like containers, images, services, volumes, network, Dockerfi ...

  2. Ruby on Rails 的秘笈是什么?

    Ruby on Rails 的秘笈是什么? 我们能从 Rails 框架学到的经验 文档选项 将此页作为电子邮件发送 级别: 初级 Bruce Tate ([email]bruce.tate@j2lif ...

  3. Ruby on Rails的核心特性是什么?

    Ruby on Rails好像一直处于争论的风口浪尖.大多数争论的核心是其所宣称的令人惊异的生产力.作者Bruce Tate已经开始理解Rails并不是一个更好的工具,而是一个不同类型的工具.本文研究 ...

  4. 转Ruby on Rails的核心特性是什么

    Ruby on Rails的核心特性是什么?(1) 作者: Bruce Tate 出处:51CTO.com ( 1 ) 砖 ( 0 ) 好 评论 ( 0 ) 条 进入论坛 更新时间:2006-10-1 ...

  5. Status Ruby on Rails in China - Presentation Transcript

    Slide 1: 铁道中文应用开发现状综述 2008年8月 制作发布:铁道播客 BD7LX 深圳 http://rorcast.blogger2blogger.com/ 铁道中文应用开发现状综述 20 ...

  6. 视频教程-Ruby on Rails打造企业级RESTful API项目实战我的云音乐-Ruby/Rails

    Ruby on Rails打造企业级RESTful API项目实战我的云音乐 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生 ...

  7. [rails] 我的订餐系统 -- 小试ruby on rails(转)

    前言         近期在java社区中一种新的脚本语言ruby,及用ruby开发的一个wab框架 rails也热闹了起来.引起了不少的java开发人员的关注. 本人平时还是很少接触脚本语言方面东东 ...

  8. ruby on rails_我成为了Ruby on Rails和React的贡献者,你也可以

    ruby on rails I am really grateful to have contributed to a few open source projects, including two ...

  9. 新手安装ruby on rails(ror)的成功必备手册

    2019独角兽企业重金招聘Python工程师标准>>> 如何快速正确的安装 Ruby, Rails 运行环境 每一位使用windows系统来进行ROR开发项目的都是这个世界上折翼的天 ...

最新文章

  1. flutter中的生命周期
  2. 两个线程并发执行以下代码,假设a是全局变量,初始为1,那么以下输出______是可能的?
  3. java配置文件放置到jar外_java相关:Spring Boot 把配置文件和日志文件放到jar外部...
  4. (机器学习/计算机视觉/深度学习)代码
  5. 任务调度-java普通工程通过Timer实现
  6. python查看函数参数快捷键_python查看函数源代码快捷键_pycharm中查看源码的快捷键...
  7. 矩阵论10,11,12作业
  8. java伪随机数(菜鸟教程)
  9. 百度地图 城市中心点坐标
  10. php+分割文本文件,python实现:将文本文件分割成多个小文本文件(php也可实现)...
  11. solr java 客户端
  12. Unity 事件番外篇:UnityEvent
  13. python中match用法_Python3.9.1中使用match方法详解
  14. html添加好友,人人网怎么加好友 人人网怎么通过数字ID加好友
  15. QQ “安全检查未通过,禁止下载该文件” 解决方法
  16. 【Gateway】服务网关--Gateway
  17. Android Amazon S3 功能接入
  18. ATMEGA88PA-AU与ATMEGA88-20AU的区别
  19. 在来电监听服务中动态注册去电广播(BroadcastRecevier)
  20. js取服务器系统时间,JS中new Date()用法及获取服务器时间

热门文章

  1. Html5工单系统,PESCMS Ticket(客服工单系统) V1.3.4 官方版
  2. Python练习题2.2计算分段函数
  3. 练习C++简单的代码
  4. 递归 汉诺塔 C语言
  5. 数字电子时钟的设计与实现
  6. BGP MPLS 单域实验及排错思路
  7. 20分钟,我用简单的Python代码创建了一个完整的区块链!想学吗?
  8. 【数据库】快速理解脏读、不可重复读、幻读
  9. 【小程序】图解小程序平台架构及其特征与应用机制
  10. 启动u盘的制作与系统重装