Sha256: ba7d01be6a4745d8115536bcd6d47c96a25765e3ef17de03f5433059793f11db

Contents?: true

Size: 1.02 KB

Versions: 22

Compression:

Stored size: 1.02 KB

Contents

require 'logger'
require 'time'

require 'colorize'


module Bourdain
  module Logger
    SEVERITY_COLORS = {
      'DEBUG' => [ :blue,   :default ],
      'INFO'  => [ :green,  :default ],
      'WARN'  => [ :yellow, :default ],
      'ERROR' => [ :red,    :default ],
      'FATAL' => [ :red,    :black   ]
    }

    def self.new level=::Logger::INFO, file=STDOUT
      logger           = ::Logger.new file
      logger.level     = level
      logger.formatter = proc do |severity, datetime, _, msg|
        if level == 1
          msg.to_s.colorize(
            color: SEVERITY_COLORS[severity.to_s][0],
            background: SEVERITY_COLORS[severity.to_s][1]
          ) + "\n"
        else
          "%s [%s] %s -- %s\n".colorize(
            color: SEVERITY_COLORS[severity.to_s][0],
            background: SEVERITY_COLORS[severity.to_s][1]
          ) % [
            severity,
            datetime.iso8601(6),
            File::basename(caller[4]),
            msg
          ]
        end
      end
      return logger
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
bourdain-1.6.3 lib/bourdain/helpers/logger.rb
bourdain-1.6.2 lib/bourdain/helpers/logger.rb
bourdain-1.6.1 lib/bourdain/helpers/logger.rb
bourdain-1.6.0 lib/bourdain/helpers/logger.rb
bourdain-1.5.1 lib/bourdain/helpers/logger.rb
bourdain-1.5.0 lib/bourdain/helpers/logger.rb
bourdain-1.4.1 lib/bourdain/helpers/logger.rb
bourdain-1.4.0 lib/bourdain/helpers/logger.rb
bourdain-1.3.3 lib/bourdain/helpers/logger.rb
bourdain-1.3.2 lib/bourdain/helpers/logger.rb
bourdain-1.3.1 lib/bourdain/helpers/logger.rb
bourdain-1.3.0 lib/bourdain/helpers/logger.rb
bourdain-1.2.22 lib/bourdain/helpers/logger.rb
bourdain-1.2.21 lib/bourdain/helpers/logger.rb
bourdain-1.2.20 lib/bourdain/helpers/logger.rb
bourdain-1.2.19 lib/bourdain/helpers/logger.rb
bourdain-1.2.18 lib/bourdain/helpers/logger.rb
bourdain-1.2.17 lib/bourdain/helpers/logger.rb
bourdain-1.2.16 lib/bourdain/helpers/logger.rb
bourdain-1.2.15 lib/bourdain/helpers/logger.rb