我正在做一个 Rails 4 项目,当我打电话时,我似乎无法在我的开发日志中显示任何内容。我Rails.logger.debug "test"
尝试在线搜索,但我觉得我没有取得太大进展。我将如何设置记录器并告诉它写入我的开发日志文件?
任何帮助将不胜感激。
我正在做一个 Rails 4 项目,当我打电话时,我似乎无法在我的开发日志中显示任何内容。我Rails.logger.debug "test"
尝试在线搜索,但我觉得我没有取得太大进展。我将如何设置记录器并告诉它写入我的开发日志文件?
任何帮助将不胜感激。
我认为你应该在你的方法中这样使用它。在此处查看第 2.3 节
def your_method
logger.debug "This is from debug"
logger.info "This is from info"
end
rails 有一个简单的日志记录机制
从内部控制器/模型
logger.info 'some info'
logger.error 'some error'
等等
从这些 Rails 的部分之外,在 Plain Old Ruby 对象(如服务对象、库对象)中,您可以轻松访问相同的默认记录器
用于导轨 < 3
logger = RAILS_DEFAULT_LOGGER
logger.info 'some info'
logger.error 'some error'
用于导轨 > 3
logger = Rails.logger
logger.info 'some info'
logger.error 'some error'
如果您想Rails.logger
在普通旧 Ruby 对象或中使用ServiceObject
,则需要手动包含它:
class MyService
def initialize(foo)
@logger = Logger.new(STDOUT)
@foo = foo
end
def call
do_something
end
private
def do_something
@logger.debug { "do_something called! With #{@foo.class} class" }
end
end
结果:
MyService.new(Bar.new).call
# [2018-01-27T00:17:22.167974 #57866] DEBUG -- : do_something called! With Bar class
如果您的日志文件中没有出现记录器输出,请检查您的环境文件(config/environments/development.rb,...)中设置的 log_level 值是否存在(默认为:debug)或
config.log_level = :debug
应该设置。其他值是:
:debug, :info, :warn, :error, :fatal, :unknown
更多信息在这里: https ://guides.rubyonrails.org/debugging_rails_applications.html 第 2.2 节日志级别