Class: Gemstash::Logging::StreamLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/gemstash/logging.rb

Overview

Logger that looks like a stream, for Puma and Rack to log to.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(level) ⇒ StreamLogger

Returns a new instance of StreamLogger.



84
85
86
# File 'lib/gemstash/logging.rb', line 84

def initialize(level)
  @level = level
end

Class Method Details

.for_stderrObject



80
81
82
# File 'lib/gemstash/logging.rb', line 80

def self.for_stderr
  new(Logger::ERROR)
end

.for_stdoutObject



76
77
78
# File 'lib/gemstash/logging.rb', line 76

def self.for_stdout
  new(Logger::INFO)
end

.puma_eventsObject



70
71
72
73
74
# File 'lib/gemstash/logging.rb', line 70

def self.puma_events
  # Puma 6 removed logging from Events and placed it in LogWriter
  klass = Puma.const_defined?(:LogWriter) ? Puma::LogWriter : Puma::Events
  klass.new(for_stdout, for_stderr)
end

Instance Method Details

#flushObject



88
# File 'lib/gemstash/logging.rb', line 88

def flush; end

#puts(message) ⇒ Object



100
101
102
# File 'lib/gemstash/logging.rb', line 100

def puts(message)
  Gemstash::Logging.logger.add(@level, message)
end

#syncObject



92
93
94
# File 'lib/gemstash/logging.rb', line 92

def sync
  false
end

#sync=(_value) ⇒ Object



90
# File 'lib/gemstash/logging.rb', line 90

def sync=(_value); end

#write(message) ⇒ Object



96
97
98
# File 'lib/gemstash/logging.rb', line 96

def write(message)
  Gemstash::Logging.logger.add(@level, message)
end