module StatsCloud::LoggerHelper
This helper works to help log errors and info about StatsCloud
service work.
Attributes
last_error_log_at[R]
last_info_log_at[R]
Public Instance Methods
console_logger()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 14 def console_logger @console_logger ||= create_logger_instance(STDOUT) end
log_error(error_message)
click to toggle source
Logs errors with 10 minutes interval
# File lib/statscloud/helpers/logger_helper.rb, line 26 def log_error(error_message) logged = log_with_interval(error_type, last_error_log_at, error_message) update_last_error_at && log_stop_logging("errors") if logged false end
log_info(info_message)
click to toggle source
Logs information with 10 minutes interval
# File lib/statscloud/helpers/logger_helper.rb, line 19 def log_info(info_message) logged = log_with_interval(info_type, last_info_log_at, info_message) update_last_info_at && log_stop_logging("information") if logged true end
logger(output = default_output, files_to_keep = 10, size_to_age = 1_024_000)
click to toggle source
Log information about work to standard output
# File lib/statscloud/helpers/logger_helper.rb, line 9 def logger(output = default_output, files_to_keep = 10, size_to_age = 1_024_000) file_utils.mkdir_p "log" @logger ||= create_logger_instance(output, files_to_keep, size_to_age) end
Private Instance Methods
can_log?(last_log_at)
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 44 def can_log?(last_log_at) last_log_at.nil? || Time.now.to_i - last_log_at > 600 end
create_logger_instance(output, files_to_keep = nil, size_to_age = nil)
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 60 def create_logger_instance(output, files_to_keep = nil, size_to_age = nil) logger_service.new(output, files_to_keep, size_to_age).tap do |log| log.progname = "StatsCloud" end end
default_output()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 36 def default_output File.join("log", "statscloud.log") end
error_type()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 70 def error_type Logger::ERROR end
file_utils()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 78 def file_utils FileUtils end
info_type()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 66 def info_type Logger::INFO end
log_stop_logging(message_type)
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 48 def log_stop_logging(message_type) logger.info "Logging #{message_type} from #{self.class} will be stopped for 10 minutes." end
log_with_interval(type, last_log_at, message)
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 40 def log_with_interval(type, last_log_at, message) logger.add(type, message) if can_log?(last_log_at) end
logger_service()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 74 def logger_service Logger end
update_last_error_at()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 56 def update_last_error_at @last_error_log_at = Time.now.to_i end
update_last_info_at()
click to toggle source
# File lib/statscloud/helpers/logger_helper.rb, line 52 def update_last_info_at @last_info_log_at = Time.now.to_i end