Sha256: 9009a71e3abd25ba15f091585491f303aebcb2559719e2d2aecc422b8311b552

Contents?: true

Size: 993 Bytes

Versions: 4

Compression:

Stored size: 993 Bytes

Contents

# frozen_string_literals: true

module Lumberjack
  # This is an abstract class for logging devices. Subclasses must implement the +write+ method and
  # may implement the +close+ and +flush+ methods if applicable.
  class Device
    require File.expand_path("../device/writer.rb", __FILE__)
    require File.expand_path("../device/log_file.rb", __FILE__)
    require File.expand_path("../device/rolling_log_file.rb", __FILE__)
    require File.expand_path("../device/date_rolling_log_file.rb", __FILE__)
    require File.expand_path("../device/size_rolling_log_file.rb", __FILE__)
    require File.expand_path("../device/null.rb", __FILE__)

    # Subclasses must implement this method to write a LogEntry.
    def write(entry)
      raise NotImplementedError
    end
    
    # Subclasses may implement this method to close the device.
    def close
      flush
    end
    
    # Subclasses may implement this method to flush any buffers used by the device.
    def flush
    end
  end
end

Version data entries

4 entries across 4 versions & 3 rubygems

Version Path
honeybadger-4.5.3 vendor/bundle/ruby/2.6.0/gems/lumberjack-1.0.13/lib/lumberjack/device.rb
alimentos-alu0100945645-0.1.0 vendor/bundle/ruby/2.3.0/gems/lumberjack-1.0.13/lib/lumberjack/device.rb
alimentos-alu0100945645-1.0.0 vendor/bundle/ruby/2.3.0/gems/lumberjack-1.0.13/lib/lumberjack/device.rb
lumberjack-1.0.13 lib/lumberjack/device.rb