Logging 在Rails 4中使用记录器
我正在从事一个Rails 4项目,当我调用Logging 在Rails 4中使用记录器,logging,ruby-on-rails-4,Logging,Ruby On Rails 4,我正在从事一个Rails 4项目,当我调用Rails.logger.debug“test”时,我似乎无法在我的开发日志中显示任何内容。我尝试过在线搜索,但我觉得我没有取得多大进展。我如何设置一个记录器并告诉它写入我的开发日志文件 任何帮助都将不胜感激 我认为你应该在你的方法中这样使用它。在这里结账 如果要在普通的旧Ruby对象或ServiceObject中使用Rails.logger,则需要手动将其包括在内: class MyService def initialize(foo) @
Rails.logger.debug“test”
时,我似乎无法在我的开发日志中显示任何内容。我尝试过在线搜索,但我觉得我没有取得多大进展。我如何设置一个记录器并告诉它写入我的开发日志文件
任何帮助都将不胜感激 我认为你应该在你的方法中这样使用它。在这里结账
如果要在普通的旧Ruby对象或
ServiceObject
中使用Rails.logger
,则需要手动将其包括在内:
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
rails有一个简单的日志记录机制 从内部控制器/模型
logger.info 'some info'
logger.error 'some error'
等等
在这些Rails的部分之外,在普通的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'
如果日志文件中未显示任何记录器输出,则检查环境文件(config/environments/development.rb,…)中已设置的日志级别值 它应该不在那里(默认为:debug)或者 应该设置。其他值包括:
:debug, :info, :warn, :error, :fatal, :unknown
更多信息请点击此处:
第2.2节日志级别
config.log_level = :debug
:debug, :info, :warn, :error, :fatal, :unknown