【问题标题】:How do I log queries in a rake task using datamapper and padrino?如何使用 datamapper 和 padrino 在 rake 任务中记录查询?
【发布时间】:2011-11-11 00:50:01
【问题描述】:

我有一个使用 datamapper 并将查询记录到文件的 padrino 安装。这在浏览我的应用程序时工作正常。但如果在 rake 文件中执行查询,则不会记录查询。为什么?

这是定义任务的方式:

# lib/tasks/example.rake
task :example => :environment do
  players = Player.all #Player is a datamapper object
  puts players.first.to_s
end

我还将这一行添加到 /config/boot.rb

Padrino::Logger::Config[:development] = { :log_level => :devel, :stream => :to_file }

而这一行在 /config/database.rb 中被调用

DataMapper.logger = logger

这就是我执行脚本的方式

$ padrino rake example

【问题讨论】:

    标签: ruby rake datamapper padrino


    【解决方案1】:

    使用以下命令调用 rake:

    PADRINO_LOG_LEVEL=development padrino rake my:task
    

    【讨论】:

    • 这行得通,但是 DataMapper.finalize 是在任务之后调用的吗?还是应该将其添加到 rake 文件中?
    • padrino rake call config/boot 所以将在任务之前调用。
    • 谢谢。我将此行 PADRINO_LOG_LEVEL= PADRINO_ENV 添加到 config/boot 。它不应该默认在那里吗??
    • 当我们像你一样使用:to_file 时会很棒,但使用:stdout 可能会很难看到一个不错的输出。顺便说一句,请随时在 github tracker 上打开一个问题。
    猜你喜欢
    • 1970-01-01
    • 2011-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-03
    • 1970-01-01
    • 2011-10-07
    相关资源
    最近更新 更多