class FeduxOrgStdlib::Logging::Logger

The logger

Attributes

mode[R]

Public Class Methods

new( logger: ::Logger.new($stderr), default_mode: :info ) click to toggle source

Create logger

@param [Logger] logger (::Logger.new( $stderr ))

The logger with should be used to output data
# File lib/fedux_org_stdlib/logging/logger.rb, line 20
def initialize(
  logger: ::Logger.new($stderr),
  default_mode: :info
)
  @logger   = logger
  self.mode = default_mode
end

Public Instance Methods

mode=(m) click to toggle source

Change mode of logger: DEBUG, … + Change the output format

@param [Symbol] m

the mode: DEBUG, ...
# File lib/fedux_org_stdlib/logging/logger.rb, line 45
def mode=(m)
  @mode = m.to_sym

  case m
  when :debug
    @logger.level = ::Logger::DEBUG
    format_debug
  when :silent
    @logger.level = ::Logger::SILENT
  when :info
    @logger.level = ::Logger::INFO
    format_standard
  else
    @logger.level = ::Logger::INFO
    format_standard
  end
end
mode?(m) click to toggle source

Is mode?

@param [String, Symbol] m

Mode to compare with
# File lib/fedux_org_stdlib/logging/logger.rb, line 37
def mode?(m)
  mode == m.to_sym
end
raw_mode() click to toggle source

Return raw mode

@return [Integer]

The raw mode from @logger
# File lib/fedux_org_stdlib/logging/logger.rb, line 67
def raw_mode
  @logger.level
end
reset() click to toggle source

Reset logger to ruby logger

# File lib/fedux_org_stdlib/logging/logger.rb, line 29
def reset
  @logger = ::Logger.new($stderr)
end

Private Instance Methods

debug_msg(msg) click to toggle source
# File lib/fedux_org_stdlib/logging/logger.rb, line 93
def debug_msg(msg)
  msg
end
error_msg(msg) click to toggle source
# File lib/fedux_org_stdlib/logging/logger.rb, line 85
def error_msg(msg)
  ANSI.red(msg)
end
format_debug() click to toggle source
# File lib/fedux_org_stdlib/logging/logger.rb, line 73
def format_debug
  @logger.formatter = proc { |severity, datetime, progname, msg|
    debug_msg(format("%s %s %s: %s\n", datetime, severity, progname, msg))
  }
end
format_standard() click to toggle source
# File lib/fedux_org_stdlib/logging/logger.rb, line 79
def format_standard
  @logger.formatter = proc { |severity, datetime, _, msg|
    info_msg(format("%s %s: %s\n", datetime, severity, msg))
  }
end
info_msg(msg) click to toggle source
# File lib/fedux_org_stdlib/logging/logger.rb, line 89
def info_msg(msg)
  msg
end