Sha256: 567ff1c3d1f3c0f43bb7cbabb77506adbabcd2fa4075a82514ef032c4884a433
Contents?: true
Size: 1.15 KB
Versions: 34
Compression:
Stored size: 1.15 KB
Contents
require 'benchmark' module Facebooker @@logger = nil def self.logger=(logger) @@logger = logger end def self.logger @@logger end module Logging def self.skip_api_logging=(val) @skip_api_logging=val end def self.skip_api_logging @skip_api_logging end def self.log_fb_api(method, params) message = method # might customize later dump = format_fb_params(params) if block_given? result = nil seconds = Benchmark.realtime { result = yield } log_info(message, dump, seconds) unless skip_api_logging result else log_info(message, dump) unless skip_api_logging nil end rescue Exception => e exception = "#{e.class.name}: #{e.message}: #{dump}" log_info(message, exception) raise end def self.format_fb_params(params) params.map { |key,value| "#{key} = #{value}" }.join(', ') end def self.log_info(message, dump, seconds = 0) return unless Facebooker.logger log_message = "#{message} (#{seconds}) #{dump}" Facebooker.logger.debug(log_message) end end end
Version data entries
34 entries across 34 versions & 8 rubygems