Module: Loog

Defined in:
lib/loog.rb

Overview

Loog is an object-oriented wrapper around Ruby Logger:

require 'loog'
log = Loog::VERBOSE
log.info('Hello, world!')

For more information read README file.

Author

Yegor Bugayenko ([email protected])

Copyright

Copyright © 2018 Yegor Bugayenko

License

MIT

Defined Under Namespace

Classes: Tee

Constant Summary collapse

COMPACT =

Compact formatter

proc do |severity, _time, _target, msg|
  prefix = ''
  case severity
  when 'ERROR', 'FATAL'
    prefix = 'E: '
  when 'DEBUG'
    prefix = 'D: '
  end
  prefix + msg.to_s.rstrip.gsub(/\n/, "\n" + (' ' * prefix.length)) + "\n"
end
SHORT =

Short formatter

proc do |_severity, _time, _target, msg|
  msg.to_s.rstrip + "\n"
end
FULL =

Full formatter

proc do |severity, time, _target, msg|
  format(
    "%<time>s %<severity>5s %<msg>s\n",
    time: time.utc.iso8601,
    severity: severity,
    msg: msg.to_s.rstrip
  )
end
NULL =

No logging at all

Logger.new(STDOUT)
VERBOSE =

Everything, including debug

Logger.new(STDOUT)
REGULAR =

Info and errors, no debug info

Logger.new(STDOUT)
ERRORS =

Errors only

Logger.new(STDOUT)