Class: Console::Terminal::Logger
- Inherits:
-
Object
- Object
- Console::Terminal::Logger
- Defined in:
- lib/console/terminal/logger.rb
Constant Summary collapse
- UNKNOWN =
'unknown'
Instance Attribute Summary collapse
-
#io ⇒ Object
readonly
Returns the value of attribute io.
-
#start ⇒ Object
readonly
Returns the value of attribute start.
-
#terminal ⇒ Object
readonly
Returns the value of attribute terminal.
-
#verbose ⇒ Object
Returns the value of attribute verbose.
Instance Method Summary collapse
- #call(subject = nil, *arguments, name: nil, severity: UNKNOWN, &block) ⇒ Object
-
#initialize(io = $stderr, verbose: nil, **options) ⇒ Logger
constructor
A new instance of Logger.
- #register_defaults(terminal) ⇒ Object
- #verbose!(value = true) ⇒ Object
Constructor Details
#initialize(io = $stderr, verbose: nil, **options) ⇒ Logger
Returns a new instance of Logger.
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/console/terminal/logger.rb', line 38 def initialize(io = $stderr, verbose: nil, **) @io = io @start = Time.now @terminal = Terminal.for(io) if verbose.nil? @verbose = !@terminal.colors? else @verbose = verbose end @terminal[:logger_prefix] ||= @terminal.style(nil, nil, nil) @terminal[:logger_suffix] ||= @terminal.style(:white, nil, :faint) @terminal[:debug] = @terminal.style(:cyan) @terminal[:info] = @terminal.style(:green) @terminal[:warn] = @terminal.style(:yellow) @terminal[:error] = @terminal.style(:red) @terminal[:fatal] = @terminal[:error] self.register_defaults(@terminal) end |
Instance Attribute Details
#io ⇒ Object (readonly)
Returns the value of attribute io.
61 62 63 |
# File 'lib/console/terminal/logger.rb', line 61 def io @io end |
#start ⇒ Object (readonly)
Returns the value of attribute start.
63 64 65 |
# File 'lib/console/terminal/logger.rb', line 63 def start @start end |
#terminal ⇒ Object (readonly)
Returns the value of attribute terminal.
64 65 66 |
# File 'lib/console/terminal/logger.rb', line 64 def terminal @terminal end |
#verbose ⇒ Object
Returns the value of attribute verbose.
62 63 64 |
# File 'lib/console/terminal/logger.rb', line 62 def verbose @verbose end |
Instance Method Details
#call(subject = nil, *arguments, name: nil, severity: UNKNOWN, &block) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# File 'lib/console/terminal/logger.rb', line 79 def call(subject = nil, *arguments, name: nil, severity: UNKNOWN, &block) prefix = build_prefix(name || severity.to_s) indent = " " * prefix.size buffer = Buffer.new("#{indent}| ") if subject format_subject(severity, prefix, subject, buffer) end arguments.each do |argument| format_argument(argument, buffer) end if block_given? if block.arity.zero? format_argument(yield, buffer) else yield(buffer, @terminal) end end @io.write buffer.string end |
#register_defaults(terminal) ⇒ Object
70 71 72 73 74 75 |
# File 'lib/console/terminal/logger.rb', line 70 def register_defaults(terminal) Event.constants.each do |constant| klass = Event.const_get(constant) klass.register(terminal) end end |
#verbose!(value = true) ⇒ Object
66 67 68 |
# File 'lib/console/terminal/logger.rb', line 66 def verbose!(value = true) @verbose = value end |