Class: Logger::LogDevice
- Inherits:
-
Object
- Object
- Logger::LogDevice
- Defined in:
- lib/logger.rb
Defined Under Namespace
Classes: LogDeviceMutex
Constant Summary collapse
- SiD =
24 * 60 * 60
Instance Attribute Summary collapse
-
#dev ⇒ Object
readonly
Returns the value of attribute dev.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(log = nil, opt = {}) ⇒ LogDevice
constructor
A new instance of LogDevice.
- #write(message) ⇒ Object
Constructor Details
#initialize(log = nil, opt = {}) ⇒ LogDevice
Returns a new instance of LogDevice.
481 482 483 484 485 486 487 488 489 490 491 492 493 |
# File 'lib/logger.rb', line 481 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 Attribute Details
#dev ⇒ Object (readonly)
Returns the value of attribute dev
474 475 476 |
# File 'lib/logger.rb', line 474 def dev @dev end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename
475 476 477 |
# File 'lib/logger.rb', line 475 def filename @filename end |
Instance Method Details
#close ⇒ Object
508 509 510 511 512 |
# File 'lib/logger.rb', line 508 def close @mutex.synchronize do @dev.close end end |
#write(message) ⇒ Object
495 496 497 498 499 500 501 502 503 504 505 506 |
# File 'lib/logger.rb', line 495 def write() @mutex.synchronize do if @shift_age and @dev.respond_to?(:stat) begin check_shift_log rescue raise Logger::ShiftingError.new("Shifting failed. #{$!}") end end @dev.write() end end |