Class: Buzztools::ConsoleLogger

Inherits:
Object
  • Object
show all
Defined in:
lib/buzztools/extras/logging.rb

Overview

Logger that mostly works like a STDOUT logger, except that warnings and above get sent to STDERR instead

Defined Under Namespace

Classes: ReportFormatter

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aErrLevel = Severity::WARN) ⇒ ConsoleLogger

Returns a new instance of ConsoleLogger.



65
66
67
68
69
70
71
72
73
# File 'lib/buzztools/extras/logging.rb', line 65

def initialize(aErrLevel = Severity::WARN)
	super(STDOUT)
	self.formatter = ReportFormatter.new
	self.level = Severity::INFO
	self << "\n"
	@err_logger = Logger.new(STDERR)
	@err_level = aErrLevel
	@err_logger.formatter = ReportFormatter.new
end

Instance Attribute Details

#formatterObject



76
77
78
# File 'lib/buzztools/extras/logging.rb', line 76

def formatter
	@formatter ||= Logger::Formatter.new
end

Instance Method Details

#<<(msg) ⇒ Object



94
95
96
97
98
99
100
101
102
103
# File 'lib/buzztools/extras/logging.rb', line 94

def <<(msg)
dev = if self.class.superclass==ActiveSupport::BufferedLogger
	@log_dest
else
	@logdev
end
  unless dev.nil?
    dev.write(msg)
  end
end

#add(severity, message = nil, progname = nil, &block) ⇒ Object Also known as: log



84
85
86
87
88
89
90
# File 'lib/buzztools/extras/logging.rb', line 84

def add(severity, message = nil, progname = nil, &block)
	if severity >= @err_level
		block_given? ? @err_logger.add(severity, message, progname, &block) : @err_logger.add(severity, message, progname)
	else
		block_given? ? orig_add(severity, message, progname, &block) : orig_add(severity, message, progname)
	end
end

#closeObject



106
107
108
109
110
111
112
# File 'lib/buzztools/extras/logging.rb', line 106

def close
	begin
		@logdev.close if @logdev
	ensure
		@err_logger.close
	end
end

#orig_addObject



82
# File 'lib/buzztools/extras/logging.rb', line 82

alias_method :orig_add, :add