Class: Megam::MonoLogger::LocklessLogDevice

Inherits:
LogDevice
  • Object
show all
Defined in:
lib/megam/core/monologger.rb

Instance Method Summary collapse

Constructor Details

#initialize(log = nil) ⇒ LocklessLogDevice

Returns a new instance of LocklessLogDevice.



42
43
44
45
46
47
48
49
50
51
# File 'lib/megam/core/monologger.rb', line 42

def initialize(log = nil)
  @dev = @filename = @shift_age = @shift_size = nil
  if log.respond_to?(:write) and log.respond_to?(:close)
    @dev = log
  else
    @dev = open_logfile(log)
    @dev.sync = true
    @filename = log
  end
end

Instance Method Details

#closeObject



59
60
61
# File 'lib/megam/core/monologger.rb', line 59

def close
  @dev.close rescue nil
end

#write(message) ⇒ Object



53
54
55
56
57
# File 'lib/megam/core/monologger.rb', line 53

def write(message)
@dev.write(message)
      rescue Exception => ignored
warn("log writing failed. #{ignored}")
end