module Boxxspring::Worker::Logging
Constants
- PWD
Public Instance Methods
logger()
click to toggle source
# File lib/boxxspring/worker/logging.rb, line 7 def logger @logger ||= begin workers_env = ENV[ 'WORKERS_ENV' ] if Worker.configuration.include?( 'logger' ) logger = Worker.configuration.logger else if self.log_local? || workers_env == 'test' logger = Logger.new( STDOUT ) else group_name = self.log_group_name raise 'A logging group is required. You may need to set LOG_GROUP.' \ unless group_name.present? worker_name = self.human_name.gsub( ' ','_' ) if workers_env == 'development' username = ENV[ 'USER' ] || ENV[ 'USERNAME' ] username = username.underscore.dasherize group_name = "#{ username }.#{ group_name }" elsif workers_env != 'production' group_name = "#{ workers_env }.#{ group_name }" end logger = CloudWatchLogger.new( { access_key_id: ENV[ 'AWS_ACCESS_KEY_ID' ], secret_access_key: ENV[ 'AWS_SECRET_ACCESS_KEY' ] }, group_name, worker_name, region: ENV[ 'AWS_REGION' ] ) end end logger.level = self.log_level logger end end
Protected Instance Methods
log_group_name()
click to toggle source
# File lib/boxxspring/worker/logging.rb, line 54 def log_group_name group_name = ENV[ 'LOG_GROUP' ] group_name ||= begin File.open( File.join( PWD, 'GROUP' ), &:readline ) rescue nil end group_name ||= begin name = `git config --get remote.origin.url` rescue nil name.present? ? File.basename( name, '.*' ) : nil end group_name.strip end
log_level()
click to toggle source
# File lib/boxxspring/worker/logging.rb, line 66 def log_level level = Logger::WARN if ENV[ 'LOG_LEVEL' ].present? level = ENV[ 'LOG_LEVEL' ].upcase raise "An unkown log level was specificed by LOG_LEVEL." \ unless [ "INFO", "WARN", "ERROR", "DEBUG", "FATAL" ].include?( level ) level = "Logger::#{ level }".constantize end level end
log_local?()
click to toggle source
# File lib/boxxspring/worker/logging.rb, line 77 def log_local? log_local = ENV[ 'LOG_LOCAL' ] || 'false' ( log_local.to_s =~ /^true$/i ) == 0 end