module EasyAppHelper::Logger::Initializer
Public Class Methods
build_logger()
click to toggle source
# 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.exists? 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 else if File.writable? File.dirname(EasyAppHelper.config[:'log-file']) EasyAppHelper.config[:'log-file'] else STDERR.puts "WARNING: Cannot write log file in '#{File.dirname EasyAppHelper.config[:'log-file']}'. Switching to STDERR..." EasyAppHelper.config[:'log-file'] = nil STDERR end end elsif EasyAppHelper.config[:'debug-on-err'] STDERR else STDOUT end end setup_logger(::Logger.new log_device) end
init_command_line_options()
click to toggle source
# File lib/easy_app_helper/logger/initializer.rb, line 6 def self.init_command_line_options 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)
click to toggle source
# 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