Module: Evesync::Log
- Defined in:
- lib/evesync/log.rb
Overview
This module is responsible for logging
Constant Summary collapse
- LEVELS =
Supported levels for logging
%i[debug info warn error fatal].freeze
Class Method Summary collapse
- .check_logger ⇒ Object
- .init_logger ⇒ Object
- .level ⇒ Object
- .level=(lvl) ⇒ Object
- .method_missing(m, *args) ⇒ Object
- .simple=(bool) ⇒ Object
- .to_string(*args) ⇒ Object
Class Method Details
.check_logger ⇒ Object
23 24 25 |
# File 'lib/evesync/log.rb', line 23 def check_logger init_logger unless @logger end |
.init_logger ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/evesync/log.rb', line 53 def init_logger @logger = Logger.new(STDERR) @logger.formatter = proc do |sev, dtime, _prog, msg| time = dtime.strftime('%Y-%m-%d %H:%M:%S') prog = File.basename($PROGRAM_NAME) "[#{time}] #{prog.ljust(8)} #{sev.ljust(5)}: #{msg}\n" end end |
.level ⇒ Object
39 40 41 42 |
# File 'lib/evesync/log.rb', line 39 def level check_logger @logger.level end |
.level=(lvl) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/evesync/log.rb', line 27 def level=(lvl) check_logger if lvl.is_a?(Symbol) or lvl.is_a?(String) @logger.level = begin Logger.const_get(lvl.to_s.upcase) rescue NameError Logger::DEBUG end end end |
.method_missing(m, *args) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/evesync/log.rb', line 14 def method_missing(m, *args) # Unlisted methods are not allowed raise NoMethodError unless LEVELS.include?(m) check_logger @logger.send(m, to_string(*args)) nil end |
.simple=(bool) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/evesync/log.rb', line 44 def simple=(bool) init_logger unless @logger if bool @logger.formatter = proc do |_sev, _dt, _prog, msg| "#{msg}\n" end end end |
.to_string(*args) ⇒ Object
62 63 64 65 |
# File 'lib/evesync/log.rb', line 62 def to_string(*args) to_s_with_space = ->(s) { "#{s} " } args.map(&to_s_with_space).reduce(&:+).strip end |