module ServerEngine::DaemonLogger::RotationAware
Public Class Methods
extended(obj)
click to toggle source
# File lib/serverengine/daemon_logger.rb, line 137 def self.extended(obj) obj.update_ino end
Public Instance Methods
reopen(log = nil)
click to toggle source
Calls superclass method
# File lib/serverengine/daemon_logger.rb, line 148 def reopen(log = nil) super(log) update_ino end
reopen!()
click to toggle source
Calls superclass method
# File lib/serverengine/daemon_logger.rb, line 153 def reopen! super update_ino end
update_ino()
click to toggle source
# File lib/serverengine/daemon_logger.rb, line 141 def update_ino (@ino_mutex ||= Mutex.new).synchronize do @ino = File.stat(filename).ino rescue nil @last_ino_time = Time.now end end
write(message)
click to toggle source
Calls superclass method
# File lib/serverengine/daemon_logger.rb, line 158 def write(message) reopen_needed = false @ino_mutex.synchronize do if (Time.now - @last_ino_time).abs > 1 ino = File.stat(filename).ino rescue nil reopen_needed = true if ino && ino != @ino end end reopen! if reopen_needed super(message) end