ruby-on-rails – 如何关闭sqlite3’sqlite_master’登录rails?

我的开发日志填满了

SELECT name FROM sqlite_master WHERE
type = ‘table’ AND NOT name =
‘sqlite_sequence’

我想在sqlite3中关闭sqlite_master查询,这样我才能看到有趣的查询.

最佳答案 这就是我修复它的方法.也许有更好的选择.

仅在Rails 2.3.8上测试过.

我在activerecord gem中的SQLiteAdapter类中添加了一个log_info方法,该方法覆盖了AbstractAdapter中的相同方法.

      def log_info(sql, name, ms)
        unless sql.match(/sqlite_master/)
          if @logger && @logger.debug?
            name = '%s (%.1fms)' % [name || 'SQL', ms]
            @logger.debug(format_log_entry(name, sql.squeeze(' ')))
          end
        end
      end

因此,不会记录包含’sqlite_master’的任何sql语句.

点赞