Class: PgExport::BuildLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_export/build_logger.rb

Constant Summary collapse

FORMATS =
{
  plain: ->(_, _, _, message) { "#{message}\n" },
  muted: ->(*) { raise 'Do not initialize logger when it is muted' },
  timestamped: lambda do |severity, datetime, progname, message|
    "#{datetime} #{Process.pid} TID-#{Thread.current.object_id.to_s(36)}#{progname} #{severity}: #{message}\n"
  end
}.freeze

Class Method Summary collapse

Class Method Details

.call(stream:, format:) ⇒ Object



15
16
17
18
19
# File 'lib/pg_export/build_logger.rb', line 15

def self.call(stream:, format:)
  Logger.new(stream).tap do |logger|
    logger.formatter = FORMATS.fetch(format.to_sym)
  end
end