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
-
#initialize(output, **options) ⇒ Logger
constructor
A new instance of Logger.
- #progress(subject, total, **options) ⇒ Object
Constructor Details
#initialize(output, **options) ⇒ Logger
Returns a new instance of Logger.
66 67 68 69 70 71 |
# File 'lib/console/logger.rb', line 66 def initialize(output, **) # This is the expected default behaviour, but it may be nice to have a way to override it. output = Output::Failure.new(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.
25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/console/logger.rb', line 25 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
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/console/logger.rb', line 42 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
60 61 62 |
# File 'lib/console/logger.rb', line 60 def self.local self.default_logger end |
.verbose?(env = ENV) ⇒ Boolean
Controls verbose output using ‘$VERBOSE`.
38 39 40 |
# File 'lib/console/logger.rb', line 38 def self.verbose?(env = ENV) !$VERBOSE.nil? || env["CONSOLE_VERBOSE"] end |