2014-02-22 170 views
1

我正在使用使用Logger類的Ruby gem。使用Ruby Logger設置日誌級別

有沒有辦法像log4j那樣在全局上設置日誌級別,使用.xml.properties文件?

我不希望輸出被寫入。我擔心的是打印所有這些日誌記錄聲明會導致性能下降。

P. S .:這只是一個簡單的腳本,我沒有使用Ruby on Rails。

+0

我真的懷疑日誌會讓您的程序變慢,儘管在生產代碼中關閉日誌級別仍然是一個好習慣。更大的問題變成存儲空間。 – Linuxios

+0

嘗試設置記錄器對象的級別。 – Linuxios

+0

你使用的是什麼寶石?解決方案取決於記錄器的實施方式以及是否暴露給您。 – mikeryz

回答

2

因爲你使用的寶石還跟露出記錄作爲attr_accessor,你可以簡單地這樣做:

some_server = Server.new 
some_server.logger.level = Logger::ERROR 

明顯感覺到自由選擇日誌級別是適合您的環境和應用程序(http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html)。

希望這會有所幫助。

+0

另外,該類的初始化器非常簡單,所以如果你有很多這些服務器,你也可以使用它來設置日誌級別。 – mikeryz

+0

不幸的是,我不是自己創建服務器。我正在使用[this](http://rubydoc.info/gems/rubydns/#Usage)入口點。我仍然可以設置日誌級別嗎?你可能已經注意到了,我不是Ruby專家。 –

+1

看看這個例子 - 它看起來像你可以在塊中訪問@logger:https://github.com/ioquatix/rubydns/blob/e4bc9f11da58944c73c7418ec1cb56ebbe06091b/test/examples/wikipedia-dns.rb – mikeryz