class Mixlib::Log::Logger::LocklessLogDevice
Public Class Methods
new(log = nil)
click to toggle source
# File lib/mixlib/log/logger.rb, line 60 def initialize(log = nil) @dev = @filename = @shift_age = @shift_size = nil if log.respond_to?(:write) && log.respond_to?(:close) @dev = log else @dev = open_logfile(log) @filename = log end @dev.sync = true end
Public Instance Methods
close()
click to toggle source
# File lib/mixlib/log/logger.rb, line 77 def close @dev.close rescue nil end
write(message)
click to toggle source
# File lib/mixlib/log/logger.rb, line 71 def write(message) @dev.write(message) rescue Exception => ignored warn("log writing failed. #{ignored}") end
Private Instance Methods
add_log_header(file)
click to toggle source
# File lib/mixlib/log/logger.rb, line 97 def add_log_header(file) file.write( "# Logfile created on %s by %s\n" % [Time.now.to_s, Logger::ProgName] ) end
create_logfile(filename)
click to toggle source
# File lib/mixlib/log/logger.rb, line 91 def create_logfile(filename) logdev = open(filename, (File::WRONLY | File::APPEND | File::CREAT)) add_log_header(logdev) logdev end
open_logfile(filename)
click to toggle source
# File lib/mixlib/log/logger.rb, line 83 def open_logfile(filename) if FileTest.exist?(filename) open(filename, (File::WRONLY | File::APPEND)) else create_logfile(filename) end end