lib/webgen/logger.rb in gettalong-webgen-0.5.5.20081010 vs lib/webgen/logger.rb in gettalong-webgen-0.5.5.20081012
- old
+ new
@@ -25,14 +25,31 @@
"%5s -- %s\n" % [severity, msg]
end
end
self.level = ::Logger::WARN
self.verbosity = :normal
+ @marks = []
end
# Returns the output of the logger when #sync is +false+. Otherwise an empty string is returned.
def log_output
- @sync ? '' : @logio.string
+ if @sync
+ ''
+ else
+ out = @logio.string.dup
+ @marks.reverse.each_with_index do |mark, index|
+ out.insert(mark, " INFO -- Log messages for run #{@marks.length - index} are following\n")
+ end if out.length > 0
+ out
+ end
+ end
+
+ # Only used when #sync is +false: Mark the location in the log stream where a new update/write
+ # run begins.
+ def mark_new_cycle
+ if !@sync
+ @marks << @logio.string.length
+ end
end
# The severity threshold level.
def level
@logger.level