class Webgen::CLI::Logger
The logger class used by the command line interface.
Attributes
prefix[RW]
Public Class Methods
new(outdev = $stdout)
click to toggle source
Create a new Logger
object for the command line interface.
Calls superclass method
# File lib/webgen/cli/logger.rb 15 def initialize(outdev = $stdout) 16 super(outdev) 17 @prefix = '' 18 outdev.sync = true if outdev.respond_to?(:sync=) 19 self.formatter = Proc.new do |severity, timestamp, progname, msg| 20 msg = msg.dup 21 msg.gsub!(/<.*?>/) {|m| Utils.bold(m)} 22 msg.gsub!(/\n/, "\n ") 23 case severity 24 when 'INFO' 25 msg.sub!(/^\s*\[(?:create|update)\]/) {|m| Utils.bold(Utils.green(m))} 26 "%s%-5s %s\n" % [@prefix, severity, msg] 27 when 'WARN' 28 "%s%s%-5s%s %s\n" % [@prefix, Utils.bold + Utils.yellow, severity, Utils.reset, msg] 29 when 'ERROR', 'FATAL' 30 "%s%s%-5s%s %s\n" % [@prefix, Utils.bold + Utils.red, severity, Utils.reset, msg] 31 when 'DEBUG' 32 "%s%-5s%s %s\n" % [@prefix, severity, progname ? " (#{progname})" : '', msg] 33 else 34 raise ArgumentError, 'Unsupported logger severity level' 35 end 36 end 37 self.level = ::Logger::INFO 38 end