Tag: 记录

如何从Sunspot Solr Rubygem旋转,覆盖或关闭日志记录?

我在使用Sunspot Solr搜索Ruby on Rails方面有很棒的经验,但是,它的日志文件正在变得非常大,我似乎无法找到一种方法来旋转 , 覆盖或关闭这些日志(除了非常我宁愿不追求的hacky方法。 我在config /中有一个文件sunspot.yml ,我尝试将log_level标志设置为SEVERE ,但这没有任何效果。 我尝试使用标准的Logger.config旋转方法,只是将我的开发日志输出发送到新创建的文件。 我非常感谢您提供的任何建议。

重定向Rails 4中特定控制器的记录器输出

我已经基于我之前的问题中的答案构建了一个解决方案.Rails 3 for Rails 3中的特定控制器的重定向记录器输出 。它工作得很好但是现在我尝试将相同的基于中间件的解决方案应用于Rails 4项目但是那里是一些差异保持相同的解决方案工作。 Rails 3解决方案: module MyApp class LoggerMiddleware REPORTS_API_CONTROLLER_PATH = %r|\A/api/v.*/reports.*| REPORTS_API_CONTROLLER_LOGFILE = “reports_controller.log” def initialize(app) @app = app @logger = Rails::logger .instance_variable_get(:@logger) .instance_variable_get(:@log) @reports_api_controller_logger = Logger.new( Rails.root.join(‘log’, REPORTS_API_CONTROLLER_LOGFILE), 10, 1000000) end def call(env) Rails::logger .instance_variable_get(:@logger) .instance_variable_set(:@log, case env[‘PATH_INFO’] when REPORTS_API_CONTROLLER_PATH then @reports_api_controller_logger else @logger end ) @app.call(env) end end […]

如何显示RSpec测试生成的SQL查询日志?

我正在为rails 3应用程序编写规范。 我想测试数据库事务是否真的有效。 能够看到在由规范驱动的情况下生成我的app的sql查询真的很有帮助。 有没有办法像在rails控制台中一样查看查询? 我正在使用Rails 3.0.9,RSpec 2.6和sqlite(稍后将转移到mysql)

在Rails中使用gem时,“无法删除Object :: ClassMethods”的内容源于什么?

在安装提供类似问题的gem时,我经常遇到问题: 有谁知道这源于什么? 我已经看过几个不同的案例,但仍然没有学到究竟是什么导致它。 $ sudo rake gems:install –trace (in /u/app/releases/20100213003957) ** Invoke gems:install (first_time) ** Invoke gems:base (first_time) ** Execute gems:base ** Invoke environment (first_time) ** Execute environment rake aborted! cannot remove Object::ClassMethods /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_const’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_constant’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `instance_eval’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_constant’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `new_constants_in’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `each’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `new_constants_in’ /u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require’ /u/app/releases/20100213003957/vendor/rails/railties/lib/tasks/misc.rake:4 /usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call’ /usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute’ /usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in […]

Rails为单个模型插入多个记录

如何设置表单字段以便能够在数据库中为单个模型插入多行。 我正在使用另一个链接更新div,并且无法使用表单助手。 所以我需要手动设置字段名称。 我有一个post模型,它有一个标题字段。 我想将post发布到db,如post [0] [title]但是当我将表单字段命名为this时,它将0作为字符串并且不记录。 我还尝试从Rails控制台设置我自己的数组 post = Array.new post < “title 1”] post < “title 2”] sav = Post.new(post) sav.save 仍然没有任何东西得救。

Rails Logger似乎是重复日志行

我在使用rails logger时遇到了一些奇怪的事情。 当我在代码中插入Rails.logger.info(“Some text”)时,通常是跟踪流程,我在控制台中得到两行“Some text”输出。 这通常不是什么大问题,但是当我转储较大对象的内容时,输出会变得很麻烦。 在我升级到Rails 4之前,这似乎永远不会发生,或者至少,我不记得它发生了。 有谁知道这里发生了什么,如果有办法停止复制日志输出?

如何在Rails上的开发中忽略延迟作业查询日志记录

我如何从log / development.log中静音/忽略这些延迟作业查询日志? Delayed::Backend::ActiveRecord::Job Load (1.0ms) UPDATE “delayed_jobs” SET locked_at = ‘2013-11-19 19:55:45.053991’, locked_by = ‘host:desktop-virtual pid:22277’ WHERE id IN (SELECT id FROM “delayed_jobs” WHERE ((run_at <= '2013-11-19 19:55:45.053435' AND (locked_at IS NULL OR locked_at < '2013-11-19 15:55:45.053519') OR locked_by = 'host:desktop-virtual pid:22277') AND failed_at IS NULL) ORDER BY priority ASC, run_at ASC LIMIT 1 […]

详细输出来自rake资产:预编译

我刚开始使用asset_sync gem,我的资产似乎是乱序编译的,Sass文件无法访问其他Sass文件中定义的变量。 真正帮助我缩小问题范围的是能够确切地看到预编译期间发生了什么,但是两个rake assets:precompile和heroku run rake assets:precompile似乎没有提供冗长的选项。 我得到的是一些更高级别的输出,然后是一个rake aborted! 和堆栈跟踪。 Tailing heroku日志对我没有任何帮助,那么如何在Heroku上获取资产预编译期间发生的事情的更详细日志呢?

Heroku:在日志中查看params和sql活动?

当我在服务器上查看我的heroku日志(使用heroku logs –tail –app myapp )时,我看到如下内容: 2011-06-21T14:09:25+00:00 app[web.1]: Started PUT “/reports/19.xml” for 77.89.149.137 at 2011-06-21 07:09:25 -0700 2011-06-21T14:09:25+00:00 heroku[router]: PUT myapp.heroku.com/reports/19.xml dyno=web.1 queue=0 wait=0ms service=7ms status=401 bytes=28 2011-06-21T14:09:26+00:00 heroku[nginx]: PUT /reports/19.xml HTTP/1.1 | 77.89.149.137 | 656 | http | 401 在我的本地日志中,我会看到这样的事情: Started PUT “/reports/19” for 127.0.0.1 at 2011-06-21 15:27:01 +0100 Processing by ReportsController#update as XML […]

在日志消息之前添加当前时间

我为我的应用程序创建了一个名为CRON_LOG的自定义记录器,只需将这段代码添加到config / environment.rb中 CRON_LOG = Logger.new(“#{Rails.root}/log/cron.log”) CRON_LOG.level = Logger::INFO 然后,当我想记录某些东西时,就这样做: CRON_LOG.info “something” 它工作正常,但我想在每条日志消息之前添加当前时间戳。 当然我可以将Time.now添加到我的日志消息中,但我想知道是否有办法将其添加为默认的每条日志消息。 我怎样才能做到这一点 ? 谢谢。