我目前遇到種種問題。我可以禁用紅寶石記錄器的日誌標頭嗎?
正如您所知,ruby logger在每個新創建的日誌文件的頂部添加了一個日誌記錄標頭。
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
我記錄的CSV文件後導入他們在倉庫裏,平時我就跳過與標題的第一行。看起來好像記錄器中存在一個錯誤,因爲有時記錄標題會在日誌文件的中間出現多次。
所以我決定把這個標題留下。令我驚訝的是,我沒有發現在創建記錄器時可以通過的任何論點。我想到了這樣的事情:
Logger.new "info.log", :skip_header => true
但它只是不存在。我搜索的紅寶石核心來源,令人驚訝真的有什麼,可以防止從將日誌頭記錄器:
def create_logfile(filename)
logdev = open(filename, (File::WRONLY | File::APPEND | File::CREAT))
logdev.sync = true
add_log_header(logdev)
logdev
end
def add_log_header(file)
file.write(
"# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName]
)
end
有沒有人有一個想法,我能做些什麼,以防止日誌標題?我在這裏使用Ruby 1.8.7 302和Rails 2.3.5。簡單地忽略倉庫端的評論是不可能的,因爲我無法控制那裏的代碼,如果一個日誌記錄行發生錯誤,那麼簡單地忽略它就會有風險。
有人知道一個記錄器,允許這?你認爲這是一個好主意,使用和寫入純文件?
由於提前, 湯米
太好了,謝謝!沒有想到「猴子補丁」記錄器,因爲它被認爲是骯髒的。但是對於以前和以後的調用,沒有任何變化。大! – 2010-11-08 09:27:34