Module: EasyAppHelper::Logger::Initializer
- Defined in:
- lib/easy_app_helper/logger/initializer.rb
Class Method Summary collapse
Class Method Details
.build_logger ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/easy_app_helper/logger/initializer.rb', line 21 def self.build_logger log_device = File::NULL if EasyAppHelper.config[:debug] log_device = if EasyAppHelper.config[:'log-file'] if File.writable? EasyAppHelper.config[:'log-file'] EasyAppHelper.config[:'log-file'] else STDERR.puts "WARNING: Log file '#{EasyAppHelper.config[:'log-file']}' is not writable. Switching to STDERR..." EasyAppHelper.config[:'log-file'] = nil STDERR end elsif EasyAppHelper.config[:'debug-on-err'] STDERR else STDOUT end end setup_logger(::Logger.new log_device) end |
.init_command_line_options ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/easy_app_helper/logger/initializer.rb', line 6 def self. EasyAppHelper.config.add_command_line_section('Debug and logging options') do |slop| slop.on :debug, 'Run in debug mode.', argument: false slop.on 'debug-on-err', 'Run in debug mode with output to stderr.', argument: false slop.on 'log-level', "Log level from 0 to 5, default #{::Logger::Severity::WARN}.", argument: true, as: Integer slop.on 'log-file', 'File to log to.', argument: true, as: String end end |
.setup_logger(logger) ⇒ Object
15 16 17 18 19 |
# File 'lib/easy_app_helper/logger/initializer.rb', line 15 def self.setup_logger(logger) logger.level = EasyAppHelper.config[:'log-level'] ? EasyAppHelper.config[:'log-level'] : ::Logger::Severity::WARN logger.extend EasyAppHelper::Logger::Wrapper logger end |