SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AutoHotkey Tutorials

    AutoHotkey T

    29 Mayıs 2010
  • ShoSho

    ShoSho

    20 Ocak 2010
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006