Module: Rbcli::Logger
- Defined in:
- lib/rbcli/features/logging.rb
Class Method Summary collapse
Class Method Details
.log ⇒ Object
84 85 86 |
# File 'lib/rbcli/features/logging.rb', line 84 def self.log @logger || self.make_logger end |
.make_logger ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/rbcli/features/logging.rb', line 64 def self.make_logger if Rbcli::config[:logger][:log_target].nil? target = '/dev/null' elsif Rbcli::config[:logger][:log_target].downcase == 'stdout' target = STDOUT elsif Rbcli::config[:logger][:log_target].downcase == 'stderr' target = STDERR else target = Rbcli::config[:logger][:log_target] end @logger = Logger.new(target) @logger.level = Rbcli::config[:logger][:log_level] original_formatter = Logger::Formatter.new @logger.formatter = proc do |severity, datetime, progname, msg| original_formatter.call(severity, datetime, progname || caller_locations[3].path.split('/')[-1], msg.dump) end @logger end |
.save_defaults(level: nil, target: nil) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/rbcli/features/logging.rb', line 47 def self.save_defaults level: nil, target: nil @default_level = level if level @default_target = target if target Rbcli::Config::add_categorized_defaults :logger, 'Log Settings', { log_level: { description: '0-5, or DEBUG < INFO < WARN < ERROR < FATAL < UNKNOWN. Set to null (~) to disable logging.', value: @default_level || nil }, log_target: { description: 'STDOUT, STDERR, or a file path. Set to null (~) to disable logging.', value: @default_target || nil } } end |