gpt4 book ai didi

ruby-on-rails - Rails 3 未登录开发

转载 作者:行者123 更新时间:2023-12-04 17:27:22 25 4
gpt4 key购买 nike

我试过调用 logger.debugRails.logger.debug但没有任何内容输出到 development.log 文件。关于发生了什么的任何想法?

更新

我还应该注意,我是从 Controller 调用它的,并且其他信息(例如 SQL 查询)正在输出到日志文件中。

源代码

https://github.com/kyledecot/skateparks-web

Gemfile

source 'http://rubygems.org/'

gem 'rails', '3.0.7'
gem 'rake', '~> 0.8.7'
gem 'devise'
gem 'omniauth'
gem 'flash_cookie_session'
gem 'carrierwave'
gem 'mini_magick'
gem 'barometer'
gem 'gdata_19', :require => 'gdata'
gem 'google_places'
gem 'fleakr'
gem 'resque'
gem 'nokogiri'
gem 'decent_exposure'
gem 'cancan'
gem 'friendly_id'
gem 'breadcrumbs_on_rails'
gem 'defensio'
gem 'twitter'
gem 'thinking-sphinx', :require => 'thinking_sphinx'
gem 'ts-resque-delta', '1.0.0', :require => 'thinking_sphinx/deltas/resque_delta'
gem 'mime-types', :require => 'mime/types'
gem 'vpim'
gem 'will_paginate', '~> 3.0.pre2'
gem 'acts_as_geocodable'
gem 'acts_as_audited', '2.0.0.rc7'
gem 'passenger'
gem 'paper_trail'
gem 'thin'
gem 'compass', '>= 0.11.1'
gem 'guard-compass'
gem 'redcarpet'
gem 'mysql2', '0.2.7'
gem 'placemaker'

group :development, :test do

gem 'sqlite3'
gem 'capybara'
gem 'launchy'
gem "rspec-rails"
gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
gem 'guard-rspec'
gem 'guard-bundler'
gem 'guard-delayed'
gem 'factory_girl'
gem 'rspec'

end

group :production do
end

环境.rb
require File.expand_path('../application', __FILE__)
Skateparks::Application.initialize!
ActiveRecord::Base.logger.level = Logger::INFO

图像 Controller
def server
logger.warn "WARN!" # nothing
logger.info "INFO!" # nothing
logger.debug "DEBUG!" # nothing
puts Rails.logger.inspect # shows
puts "PUTS!" # shows
end

rails s 的日志输出
#<ActiveSupport::BufferedLogger:0x000001058867a0 @level=0, @buffer={}, @auto_flushing=1, @guard=#<Mutex:0x000001058866b0>, @log=#<File:/Users/Kyle/Desktop/skateparks-web/log/development.log>>
PUTS!


Started GET "/images/fd3b38315c30532b3a55bb84d35e5925/34_m.png" for 127.0.0.1 at 2011-06-29 03:41:50 -0400
User Load (0.3ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1

最佳答案

更新:
Viget Labs 已经从他们的仓库中删除了 loggable gem (
https://github.com/vigetlabs/loggable
)

您的应用程序中的某些 gem 正在使用 vigetlabs/loggable gem 。
看着 Gemfile.lock ,看来“fleakr” gem 正在使用它。

I noted that while logger.info "hello" does not work, Rails.logger.info "hello" works just fine.


看来可记录的 gem 正在以某种方式重新定义记录器方法,以便使用 LoggerStub 不做任何事情。 :
class LoggerStub

[:debug, :error, :fatal, :info, :warn].each do |method|
class_eval <<-CODE
def #{method}(message); nil; end
CODE
end

end
发生的事情是 loggable gem 定义了一个名为 logger 的类变量和实例变量。 ,以及 .info正在对其中之一调用等方法。而这些方法只是返回 nil .
我知道这是一个部分答案(因为它不是一个完整的解决方案),但这应该是
很好的信息,可帮助您开始寻找合适的解决方案。
也看看这些文件:
  • log_methods.rb
  • logger_stub.rb

  • 更新
    添加..
    class ActionController::Base
    self.class.logger = Rails.logger
    end
    .. 应该强制覆盖 loggable 对记录器的分配,事情应该正常工作。我想同样适用于 class ActiveRecord::Base .
    但当然,这是一个无法解决根本问题的蛮力解决方案。对于真正的“修复”,您需要进一步深入研究 fleakr 或 loggable,并可能在这些 gem 的问题页面上询问此问题。
    更新
    看看你是否可以让 fleakr gem 使用 loggable fork from mediashelf :如果可用的话,那个 fork 应该使用默认的 Rails 记录器。

    关于ruby-on-rails - Rails 3 未登录开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6516429/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com