Sha256: e0b1523581ef5b9897730be26974d726f0bb0a85a29d489356aaafa98e7af980

Contents?: true

Size: 1.22 KB

Versions: 9

Compression:

Stored size: 1.22 KB

Contents

require 'logger'
require_relative 'ext/string'

module Dply
  class CustomLogger < ::Logger

    attr_writer :trace_mode, :remote_mode, :enable_markers

    def initialize(file)
      super(file)
      @level = ::Logger::INFO
#      @trace_mode = false
    end

    def format_message(severity, timestamp, progname, msg)
      case severity
      when "INFO"
        "#{msg}\n"
      when "ERROR"
        "#{severity.bold.red} #{msg}\n"
      when "WARN"
        "#{severity.downcase.bold.yellow} #{msg}\n"
      else
        "#{severity[0].bold.blue} #{msg}\n"
      end
    end

    def command(command, mode:)
      case mode
      when :arrow
        arrow command
      when :bullet
        bullet command
      else
        debug command
      end
    end

    def arrow(msg)
      info "#{"\u2023".green.bold} #{msg}"
    end

    def bullet(msg)
      info "#{"\u2219".bold.blue} #{msg}"
    end

    def trace(msg)
      return if not @trace_mode
      info %(#{"T".bold.blue} #{msg}\n)
    end

    def remote(msg)
      return if not @remote_mode
      info %{dply_msg|#{msg}}
    end

    def marker(msg)
      return if not @enable_markers
      info "dply_marker:#{msg}"
    end

    def silence!
      @logdev = nil
    end

  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
dply-0.3.8 lib/dply/custom_logger.rb
dply-0.3.7 lib/dply/custom_logger.rb
dply-0.3.6 lib/dply/custom_logger.rb
dply-0.3.5 lib/dply/custom_logger.rb
dply-0.3.4 lib/dply/custom_logger.rb
dply-0.3.3 lib/dply/custom_logger.rb
dply-0.3.2 lib/dply/custom_logger.rb
dply-0.3.1 lib/dply/custom_logger.rb
dply-0.3.0 lib/dply/custom_logger.rb