[英]Print to log file without newline - Ruby on Rails
我有一個記錄器可以打印到文件:
logger = Logger.new Rails.root.join 'log/my.log'
如何在不同的記錄器調用中在一行中打印多個點?
即,如果我這樣做
some_array.each do |el|
logger.info '.'
el.some_method
end
這些點將以不同的線條打印。
<<
方法允許您在沒有任何格式化日志文件的情況下編寫消息。
例如:
require 'logger'
log = Logger.new "test.log"
log.info "Start"
5.times { log << "." }
log << "\n"
log.info "End"
生產:
I, [2014-03-10T15:11:04.320495 #3410] INFO -- : Start
.....
I, [2014-03-10T15:11:42.157131 #3410] INFO -- : End
不幸的是,這不會讓你寫入與之前調用log.info
相同的行
你可以使用Logger#<<(msg)
轉儲給日志設備的消息沒有任何格式。 如果不存在日志設備,則返回nil。
some_array.each do |el|
logger << '.'
el.some_method
end
你仍然可以通過使用.info?
來限制logger.level .info?
some_array.each do |el|
logger << '.' if logger.info?
el.some_method
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.