Class: Buzztools::ConsoleLogger
- Inherits:
-
Object
- Object
- Buzztools::ConsoleLogger
- 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
- #<<(msg) ⇒ Object
- #add(severity, message = nil, progname = nil, &block) ⇒ Object (also: #log)
- #close ⇒ Object
-
#initialize(aErrLevel = Severity::WARN) ⇒ ConsoleLogger
constructor
A new instance of ConsoleLogger.
- #orig_add ⇒ Object
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
#formatter ⇒ Object
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, = nil, progname = nil, &block) if severity >= @err_level block_given? ? @err_logger.add(severity, , progname, &block) : @err_logger.add(severity, , progname) else block_given? ? orig_add(severity, , progname, &block) : orig_add(severity, , progname) end end |
#close ⇒ Object
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_add ⇒ Object
82 |
# File 'lib/buzztools/extras/logging.rb', line 82 alias_method :orig_add, :add |