Class: Console::Logger
- Inherits:
-
Object
- Object
- Console::Logger
- Extended by:
- Fiber::Local
- Defined in:
- lib/console/logger.rb
Constant Summary collapse
- DEFAULT_LEVEL =
1
Class Method Summary collapse
-
.default_log_level(env = ENV) ⇒ Object
Set the default log level based on ‘$DEBUG` and `$VERBOSE`.
- .default_logger(output = $stderr, env = ENV, **options) ⇒ Object
- .local ⇒ Object
-
.verbose?(env = ENV) ⇒ Boolean
Controls verbose output using ‘$VERBOSE`.
Instance Method Summary collapse
- #failure(subject, exception, *arguments, &block) ⇒ Object
-
#initialize(output, **options) ⇒ Logger
constructor
A new instance of Logger.
- #measure(subject, name = "block", **tags, &block) ⇒ Object
- #progress(subject, total, **options) ⇒ Object
Constructor Details
#initialize(output, **options) ⇒ Logger
Returns a new instance of Logger.
79 80 81 |
# File 'lib/console/logger.rb', line 79 def initialize(output, **) super(output, **) end |
Class Method Details
.default_log_level(env = ENV) ⇒ Object
Set the default log level based on ‘$DEBUG` and `$VERBOSE`. You can also specify CONSOLE_LEVEL=debug or CONSOLE_LEVEL=info in environment. mislav.net/2011/06/ruby-verbose-mode/ has more details about how it all fits together.
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/console/logger.rb', line 39 def self.default_log_level(env = ENV) if level = env['CONSOLE_LEVEL'] LEVELS[level.to_sym] || level.to_i elsif $DEBUG DEBUG elsif $VERBOSE.nil? WARN else INFO end end |
.default_logger(output = $stderr, env = ENV, **options) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/console/logger.rb', line 56 def self.default_logger(output = $stderr, env = ENV, **) if [:verbose].nil? [:verbose] = self.verbose?(env) end if [:level].nil? [:level] = self.default_log_level(env) end output = Output.new(output, env, **) logger = self.new(output, **) Resolver.default_resolver(logger) return logger end |
.local ⇒ Object
73 74 75 |
# File 'lib/console/logger.rb', line 73 def self.local self.default_logger end |
.verbose?(env = ENV) ⇒ Boolean
Controls verbose output using ‘$VERBOSE`.
52 53 54 |
# File 'lib/console/logger.rb', line 52 def self.verbose?(env = ENV) !$VERBOSE.nil? || env['CONSOLE_VERBOSE'] end |
Instance Method Details
#failure(subject, exception, *arguments, &block) ⇒ Object
97 98 99 |
# File 'lib/console/logger.rb', line 97 def failure(subject, exception, *arguments, &block) fatal(subject, *arguments, Event::Failure.new(exception), &block) end |