Device used for logging messages.
Namespace
Methods
Constants
SiD | = | 24 * 60 * 60 |
Attributes
[R] | dev | |
[R] | filename |
Class Public methods
new(log = nil, opt = {})
Link
# File lib/logger.rb, line 545 def initialize(log = nil, opt = {}) @dev = @filename = @shift_age = @shift_size = nil @mutex = LogDeviceMutex.new if log.respond_to?(:write) and log.respond_to?(:close) @dev = log else @dev = open_logfile(log) @dev.sync = true @filename = log @shift_age = opt[:shift_age] || 7 @shift_size = opt[:shift_size] || 1048576 end end
Instance Public methods
close()
Link
write(message)
Link
# File lib/logger.rb, line 559 def write(message) begin @mutex.synchronize do if @shift_age and @dev.respond_to?(:stat) begin check_shift_log rescue warn("log shifting failed. #{$!}") end end begin @dev.write(message) rescue warn("log writing failed. #{$!}") end end rescue Exception => ignored warn("log writing failed. #{ignored}") end end