ruby on rails 日志: log4r
学习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相关推荐
- 如何使用Docker轻松设置Ruby on Rails开发环境
You've likely heard about Docker terms like containers, images, services, volumes, network, Dockerfi ...
- Ruby on Rails 的秘笈是什么?
Ruby on Rails 的秘笈是什么? 我们能从 Rails 框架学到的经验 文档选项 将此页作为电子邮件发送 级别: 初级 Bruce Tate ([email]bruce.tate@j2lif ...
- Ruby on Rails的核心特性是什么?
Ruby on Rails好像一直处于争论的风口浪尖.大多数争论的核心是其所宣称的令人惊异的生产力.作者Bruce Tate已经开始理解Rails并不是一个更好的工具,而是一个不同类型的工具.本文研究 ...
- 转Ruby on Rails的核心特性是什么
Ruby on Rails的核心特性是什么?(1) 作者: Bruce Tate 出处:51CTO.com ( 1 ) 砖 ( 0 ) 好 评论 ( 0 ) 条 进入论坛 更新时间:2006-10-1 ...
- Status Ruby on Rails in China - Presentation Transcript
Slide 1: 铁道中文应用开发现状综述 2008年8月 制作发布:铁道播客 BD7LX 深圳 http://rorcast.blogger2blogger.com/ 铁道中文应用开发现状综述 20 ...
- 视频教程-Ruby on Rails打造企业级RESTful API项目实战我的云音乐-Ruby/Rails
Ruby on Rails打造企业级RESTful API项目实战我的云音乐 任苹蜻,爱学啊创始人 & CEO,曾就职于某二车手公司担任Android工程师后离职创办爱学啊,我们的宗旨是:人生 ...
- [rails] 我的订餐系统 -- 小试ruby on rails(转)
前言 近期在java社区中一种新的脚本语言ruby,及用ruby开发的一个wab框架 rails也热闹了起来.引起了不少的java开发人员的关注. 本人平时还是很少接触脚本语言方面东东 ...
- 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 ...
- 新手安装ruby on rails(ror)的成功必备手册
2019独角兽企业重金招聘Python工程师标准>>> 如何快速正确的安装 Ruby, Rails 运行环境 每一位使用windows系统来进行ROR开发项目的都是这个世界上折翼的天 ...
最新文章
- flutter中的生命周期
- 两个线程并发执行以下代码,假设a是全局变量,初始为1,那么以下输出______是可能的?
- java配置文件放置到jar外_java相关:Spring Boot 把配置文件和日志文件放到jar外部...
- (机器学习/计算机视觉/深度学习)代码
- 任务调度-java普通工程通过Timer实现
- python查看函数参数快捷键_python查看函数源代码快捷键_pycharm中查看源码的快捷键...
- 矩阵论10,11,12作业
- java伪随机数(菜鸟教程)
- 百度地图 城市中心点坐标
- php+分割文本文件,python实现:将文本文件分割成多个小文本文件(php也可实现)...
- solr java 客户端
- Unity 事件番外篇:UnityEvent
- python中match用法_Python3.9.1中使用match方法详解
- html添加好友,人人网怎么加好友 人人网怎么通过数字ID加好友
- QQ “安全检查未通过,禁止下载该文件” 解决方法
- 【Gateway】服务网关--Gateway
- Android Amazon S3 功能接入
- ATMEGA88PA-AU与ATMEGA88-20AU的区别
- 在来电监听服务中动态注册去电广播(BroadcastRecevier)
- js取服务器系统时间,JS中new Date()用法及获取服务器时间