Class: Logger
- Inherits:
-
Object
- Object
- Logger
- Defined in:
- lib/aspera/log.rb
Overview
Extend Ruby logger with trace levels
Defined Under Namespace
Modules: Severity
Constant Summary collapse
- TRACE_MAX =
Two additionnal trace levels
2
- SEVERITY_LABEL =
Quick access to label
Severity.constants.each_with_object({}){ |name, hash| hash[Severity.const_get(name)] = name}
Class Method Summary collapse
-
.make_methods(str_level) ⇒ Object
Define methods for a given log level.
Instance Method Summary collapse
Class Method Details
.make_methods(str_level) ⇒ Object
Define methods for a given log level
32 33 34 35 36 37 38 |
# File 'lib/aspera/log.rb', line 32 def make_methods(str_level) int_level = ::Logger.const_get(str_level.upcase) method_base = str_level.downcase define_method(method_base, ->( = nil, &block){add(int_level, , &block)}) define_method("#{method_base}?", ->{level <= int_level}) define_method("#{method_base}!", ->{self.level = int_level}) end |
Instance Method Details
#format_severity(severity) ⇒ Object
26 27 28 |
# File 'lib/aspera/log.rb', line 26 def format_severity(severity) SEVERITY_LABEL[severity] || 'ANY' end |