如何将Ruby Sequel日志记录设置为DEBUG级别?

Nat*_*don 9 ruby logging sequel

默认的Ruby Sequel行为是在INFO级别记录所有数据库查询(与在DEBUG级别记录的ActiveRecord不同).我该如何改变?

Jer*_*ans 21

Previously, it was fairly simple to do with a proxy logger object, but enough people have asked for this that I implemented it. With the git master branch of Sequel, you can now do:

DB.sql_log_level = :debug
Run Code Online (Sandbox Code Playgroud)

Which will use the debug method instead of the info method when logging queries.

  • @Sixty Five 确保您向数据库提供记录器:`require 'sequel'; 需要“记录器”;DB = Sequel.sqlite; DB.loggers << Logger.new($stdout); DB['select 1'].to_a` => `I, [2020-07-03T18:28:33.321470 #262544] INFO -- : (0.000376s) select 1` (4认同)
  • 可能在初始化程序中。它确实取决于数据库中的 Sequel::Database 对象,如果您不是自己加载它,则可能不是这样。更安全的赌注是:Sequel::DATABASES.each{|d| d.sql_log_level = :debug} (2认同)