Class: Tamashii::Logger
- Inherits:
-
Logger
- Object
- Logger
- Tamashii::Logger
- Defined in:
- lib/tamashii/logger.rb
Defined Under Namespace
Modules: Colors
Constant Summary collapse
- FILTER_PARAMS =
%i(token password)
Instance Attribute Summary collapse
-
#enable_filter ⇒ Object
Returns the value of attribute enable_filter.
Instance Method Summary collapse
- #filter(progname = nil, **options, &block) ⇒ Object
- #format_message(level, *args) ⇒ Object
- #format_message_colorless ⇒ Object
- #info(progname = nil, **options, &block) ⇒ Object (also: #debug, #error, #warn, #fatal, #unknown)
-
#initialize(*args) ⇒ Logger
constructor
A new instance of Logger.
- #schema ⇒ Object
Constructor Details
#initialize(*args) ⇒ Logger
Returns a new instance of Logger.
36 37 38 39 40 41 42 43 44 45 |
# File 'lib/tamashii/logger.rb', line 36 def initialize(*args) super @enable_filter = false self.formatter = proc do |severity, datetime, progname, | severity = "UNKNOWN" if severity == "ANY" datetime = datetime.strftime("%Y-%m-%d %H:%M:%S") progname = " -- #{progname}" if progname "[#{datetime}] #{severity}#{progname}\t: #{}\n" end end |
Instance Attribute Details
#enable_filter ⇒ Object
Returns the value of attribute enable_filter.
30 31 32 |
# File 'lib/tamashii/logger.rb', line 30 def enable_filter @enable_filter end |
Instance Method Details
#filter(progname = nil, **options, &block) ⇒ Object
65 66 67 68 69 70 71 72 |
# File 'lib/tamashii/logger.rb', line 65 def filter(progname = nil, **, &block) FILTER_PARAMS.each { |param| [param] = "FILTERED" if .include?(param) } if @enable_filter if block_given? yield else progname end % end |
#format_message(level, *args) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/tamashii/logger.rb', line 47 def (level, *args) if schema[Logger.const_get(level.sub "ANY", "UNKNOWN")].to_s.upcase color = begin Logger::Colors.const_get \ schema[Logger.const_get(level.sub "ANY", "UNKNOWN")].to_s.upcase rescue NameError "0;0" end "\e[#{ color }m#{ (level, *args) }\e[0;0m" else (level, *args) end end |
#format_message_colorless ⇒ Object
34 |
# File 'lib/tamashii/logger.rb', line 34 alias |
#info(progname = nil, **options, &block) ⇒ Object Also known as: debug, error, warn, fatal, unknown
74 75 76 77 78 |
# File 'lib/tamashii/logger.rb', line 74 def info(progname = nil, **, &block) severity = ::Logger.const_get(__callee__.upcase) _progname = block_given? ? progname : nil add(severity, filter(progname, **, &block), _progname) end |