Class Logger::LogDevice
In: logger.rb
Parent: Object

Methods

close   new   write  

Classes and Modules

Class Logger::LogDevice::LogDeviceMutex

Constants

SiD = 24 * 60 * 60

Attributes

dev  [R] 
filename  [R] 

Public Class methods

[Source]

     # File logger.rb, line 490
490:     def initialize(log = nil, opt = {})
491:       @dev = @filename = @shift_age = @shift_size = nil
492:       @mutex = LogDeviceMutex.new
493:       if log.respond_to?(:write) and log.respond_to?(:close)
494:         @dev = log
495:       else
496:         @dev = open_logfile(log)
497:         @dev.sync = true
498:         @filename = log
499:         @shift_age = opt[:shift_age] || 7
500:         @shift_size = opt[:shift_size] || 1048576
501:       end
502:     end

Public Instance methods

[Source]

     # File logger.rb, line 517
517:     def close
518:       @mutex.synchronize do
519:         @dev.close
520:       end
521:     end

[Source]

     # File logger.rb, line 504
504:     def write(message)
505:       @mutex.synchronize do
506:         if @shift_age and @dev.respond_to?(:stat)
507:           begin
508:             check_shift_log
509:           rescue
510:             raise Logger::ShiftingError.new("Shifting failed. #{$!}")
511:           end
512:         end
513:         @dev.write(message)
514:       end
515:     end

Search

Google

Ruby API Docs

Links