4 def self.logger=(logger)
12 @skip_api_logging = nil
13 class << self; attr_accessor :skip_api_logging; end
15 def self.log_fb_api(method, params)
16 message = method # might customize later
17 dump = format_fb_params(params)
20 seconds = Benchmark.realtime { result = yield }
21 log_info(message, dump, seconds) unless skip_api_logging
24 log_info(message, dump) unless skip_api_logging
28 exception = "#{e.class.name}: #{e.message}: #{dump}"
29 log_info(message, exception)
33 def self.format_fb_params(params)
34 params.map { |key,value| "#{key} = #{value}" }.join(', ')
37 def self.log_info(message, dump, seconds = 0)
38 return unless Facebooker.logger
39 log_message = "#{message} (#{seconds}) #{dump}"
40 Facebooker.logger.info(log_message)