使用字符串插值來創建一個日誌文件每耙::任務
可以使用Rake::Task#name來獲得當前任務的名稱進行插值到你的日誌文件的名稱。您也可以使用任務名稱程序名作爲您的日誌條目。
除了標準的Rake方法之外,Rakefile還可以包含任意的Ruby代碼。您可以使用它創建自定義日誌記錄方法,該方法允許您爲每個Rake任務創建日誌,並使用Kernel#`方法捕獲shell命令的標準輸出,並將其作爲日誌消息傳遞給自定義日誌記錄方法。
一個成功範例
Rake文件
require 'logger'
def log task, msg
l = Logger.new "#{task}.log"
l.progname = task
l.info msg
end
task :foo do |task|
msg = `echo Hello, world.`
log task.name, msg
end
task :bar do |task|
msg = `echo Goodbye, cruel world.`
log task.name, msg
end
task :default => [:foo, :bar]
樣本輸出
$ rake; tail +1 *log
==> bar.log <==
# Logfile created on 2016-03-02 17:31:49 -0500 by logger.rb/53141
I, [2016-03-02T17:31:49.678729 #80846] INFO -- bar: Goodbye, cruel world.
==> foo.log <==
# Logfile created on 2016-03-02 17:31:49 -0500 by logger.rb/53141
I, [2016-03-02T17:31:49.677165 #80846] INFO -- foo: Hello, world.
貌似這部作品,謝謝, – esio