module Collins::Util::Logging
Constants
- DEFAULT_LOG_FORMAT
Public Instance Methods
get_logger(options = {})
click to toggle source
# File lib/collins/logging.rb, line 10 def get_logger options = {} return options[:logger] if options[:logger] trace = Collins::Option(options[:trace]).get_or_else(false) debug = Collins::Option(options[:debug]).get_or_else(false) progname = Collins::Option(options[:progname] || options[:program]).get_or_else('unknown') logfile = Collins::Option(options[:logfile]).get_or_else(STDOUT) logger = Logger.new(logfile) if trace then logger.level = Logger::TRACE elsif debug then logger.level = Logger::DEBUG else logger.level = Logger::INFO end logger.progname = File.basename(progname) logger.formatter = Proc.new do |severity, datetime, progname, message| date_s = datetime.strftime(Collins::Util::Logging::DEFAULT_LOG_FORMAT) "#{severity} [#{date_s}] #{progname}: #{message}\n" end logger end