Sha256: dad572a2c6b6b7e0858d7b1e8761058fb8e82915841747d38e47e50eca060f39

Contents?: true

Size: 609 Bytes

Versions: 2

Compression:

Stored size: 609 Bytes

Contents

require 'log_switch'

class Tailor
  class Logger
    extend LogSwitch

    def self.logger
      return @logger if @logger
      @logger ||= ::Logger.new $stdout

      def @logger.format_message(level, time, progname, msg)
        "[#{time.strftime("%Y-%m-%d %H:%M:%S")}]  #{msg}\n"
      end

      @logger
    end

    module Mixin
      def self.included(base)
        define_method :log do |*args|
          class_minus_main_name = self.class.to_s.sub(/^.*::/, '')
          args.first.insert(0, "<#{class_minus_main_name}> ")
          Tailor::Logger.log(*args)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
tailor-1.0.0.alpha2 lib/tailor/logger.rb
tailor-1.0.0.alpha lib/tailor/logger.rb