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.



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

def initialize(level)
  @level = level
end

Class Method Details

.for_stderrObject



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

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

.for_stdoutObject



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

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

.puma_eventsObject



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

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



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

def flush; end

#puts(message) ⇒ Object



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

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

#sync=(_value) ⇒ Object



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

def sync=(_value); end

#write(message) ⇒ Object



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

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