Sha256: 66235ce732928439349ed53c9a8447194e67282b0c2692edfff08a47c6120760

Contents?: true

Size: 1.19 KB

Versions: 25

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

module Jekyll
  class Stevenson < ::Logger
    def initialize
      @progname = nil
      @level = DEBUG
      @default_formatter = Formatter.new
      @logdev = $stdout
      @formatter = proc do |_, _, _, msg|
        msg.to_s
      end
    end

    def add(severity, message = nil, progname = nil)
      severity ||= UNKNOWN
      @logdev = logdevice(severity)

      if @logdev.nil? || severity < @level
        return true
      end
      progname ||= @progname
      if message.nil?
        if block_given?
          message = yield
        else
          message = progname
          progname = @progname
        end
      end
      @logdev.puts(
        format_message(format_severity(severity), Time.now, progname, message)
      )
      true
    end

    # Log a +WARN+ message
    def warn(progname = nil, &block)
      add(WARN, nil, progname.yellow, &block)
    end

    # Log an +ERROR+ message
    def error(progname = nil, &block)
      add(ERROR, nil, progname.red, &block)
    end

    def close
      # No LogDevice in use
    end

    private

    def logdevice(severity)
      if severity > INFO
        $stderr
      else
        $stdout
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
jekyll-3.9.3 lib/jekyll/stevenson.rb
jekyll-3.9.2 lib/jekyll/stevenson.rb
jekyll-3.9.1 lib/jekyll/stevenson.rb
jekyll-3.9.0 lib/jekyll/stevenson.rb
jekyll-3.8.7 lib/jekyll/stevenson.rb
jekyll-3.8.6 lib/jekyll/stevenson.rb
jekyll-3.8.5 lib/jekyll/stevenson.rb
jekyll-3.6.3 lib/jekyll/stevenson.rb
jekyll-3.8.4 lib/jekyll/stevenson.rb
jekyll-3.7.4 lib/jekyll/stevenson.rb
jekyll-3.8.3 lib/jekyll/stevenson.rb
jekyll-3.8.2 lib/jekyll/stevenson.rb
jekyll-3.8.1 lib/jekyll/stevenson.rb
jekyll-3.8.0 lib/jekyll/stevenson.rb
jekyll-3.8.0.pre.rc2 lib/jekyll/stevenson.rb
jekyll-3.8.0.pre.rc1 lib/jekyll/stevenson.rb
jekyll-3.7.3 lib/jekyll/stevenson.rb
jekyll-3.7.2 lib/jekyll/stevenson.rb
jekyll-3.7.0 lib/jekyll/stevenson.rb
jekyll-docs-3.6.2 lib/jekyll/stevenson.rb