Sha256: b666ab208d22be601fed16e47055cfbd358f9fc5cef0397d9796287b1f25f453

Contents?: true

Size: 615 Bytes

Versions: 8

Compression:

Stored size: 615 Bytes

Contents

# frozen_string_literal: true

require 'logger'

module Gamefic
  # A simple logger.
  #
  module Logging
    module_function

    # @return [Logger]
    def logger
      Gamefic.logger
    end
  end

  class << self
    def logger
      @logger ||= select_logger.tap do |l|
        l.formatter = proc { |sev, _dt, _prog, msg| "[#{sev}] #{msg}\n" }
      end
    end

    private

    def select_logger
      # We use #tap here because `Logger.new(STDERR, level: Logger::WARN)`
      # fails in Opal
      Logger.new($stderr).tap { |log| log.level = Logger::WARN }
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
gamefic-3.6.0 lib/gamefic/logging.rb
gamefic-3.5.0 lib/gamefic/logging.rb
gamefic-3.4.0 lib/gamefic/logging.rb
gamefic-3.3.0 lib/gamefic/logging.rb
gamefic-3.2.1 lib/gamefic/logging.rb
gamefic-3.2.0 lib/gamefic/logging.rb
gamefic-3.1.0 lib/gamefic/logging.rb
gamefic-3.0.0 lib/gamefic/logging.rb