20 HAZİRAN 2011, PAZARTESİ
Ne gibi stdout dosyasına ruby logger giriş çıkış alabilir miyim?
Bir tee işlevselliği logger gibi şeyler.
CEVAP
20 HAZİRAN 2011, PAZARTESİ
IO
birden çok nesne yazacak o IO
sözde bir sınıf yazabilirsiniz. Gibi bir şey
class MultiIO
def initialize(*targets)
@targets = targets
end
def write(*args)
@targets.each {|t| t.write(*args)}
end
def close
@targets.each(&:close)
end
end
Sonra günlük dosyası olarak ayarlayın:
log_file = File.open("log/debug.log", "a")
Logger.new MultiIO.new(STDOUT, log_file)
Her zaman Logger
STDOUT
ve günlük dosyası yazmak. MultiIO
nesne puts
çağırır.
Düzenleme:Devam ettim ve arayüzü geri kalanı anladım. Bir günlük cihazı write
close
(puts
) yanıtlaması gerekir. MultiIO
gerçek IO nesnelere bu vekiller ve onlara yanıt verir sürece, bu çalışması gerekir.
Bunu Paylaş:
Nasıl RVM (Ruby Version Manager) kaldı...
Pseudo-element sonra kullanın :giriş a...
Nasıl bir Ruby sınıfı adını alabilir m...
Nasıl Ruby sıfırları çıkış yapabilir m...
Neden CheckBoxFor ek bir giriş etiketi...