From b55df2695b6f745cf126e5622a87503e67904da3 Mon Sep 17 00:00:00 2001 From: Paul Kuruvilla Date: Sat, 19 May 2018 16:09:29 +0530 Subject: [PATCH 1/3] Add [analytics-ruby] prefix to all log messages --- lib/segment/analytics/logging.rb | 41 ++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 7 deletions(-) diff --git a/lib/segment/analytics/logging.rb b/lib/segment/analytics/logging.rb index 20b1a7f..f7aaa63 100644 --- a/lib/segment/analytics/logging.rb +++ b/lib/segment/analytics/logging.rb @@ -2,16 +2,43 @@ module Segment class Analytics + # Wraps an existing logger and adds a prefix to all messages + class PrefixedLogger + def initialize(logger, prefix) + @logger = logger + @prefix = prefix + end + + def debug(msg) + @logger.debug("#{@prefix} #{msg}") + end + + def info(msg) + @logger.info("#{@prefix} #{msg}") + end + + def warn(msg) + @logger.warn("#{@prefix} #{msg}") + end + + def error(msg) + @logger.error("#{@prefix} #{msg}") + end + end + module Logging class << self def logger - @logger ||= if defined?(Rails) - Rails.logger - else - logger = Logger.new STDOUT - logger.progname = 'Segment::Analytics' - logger - end + return @logger if @logger + + base_logger = if defined?(Rails) + Rails.logger + else + logger = Logger.new STDOUT + logger.progname = 'Segment::Analytics' + logger + end + @logger = PrefixedLogger.new(base_logger, '[analytics-ruby]') end attr_writer :logger From 4463ca5e82482e29b1e65557847b1d4d52a70da4 Mon Sep 17 00:00:00 2001 From: Paul Kuruvilla Date: Sat, 19 May 2018 16:12:45 +0530 Subject: [PATCH 2/3] Add debug log when retrying request --- lib/segment/analytics/request.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/segment/analytics/request.rb b/lib/segment/analytics/request.rb index 502d8e1..0cdf476 100644 --- a/lib/segment/analytics/request.rb +++ b/lib/segment/analytics/request.rb @@ -90,6 +90,7 @@ def retry_with_backoff(retries_remaining, &block) end if should_retry && (retries_remaining > 1) + logger.debug("Retrying request, #{retries_remaining} retries left") sleep(@backoff_policy.next_interval.to_f / 1000) retry_with_backoff(retries_remaining - 1, &block) else From c52c386a2b7631490c3c4d4e88d2ce4d7d61c891 Mon Sep 17 00:00:00 2001 From: Paul Kuruvilla Date: Sat, 19 May 2018 16:14:24 +0530 Subject: [PATCH 3/3] Add debug log for number of items sent in each call --- lib/segment/analytics/worker.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/segment/analytics/worker.rb b/lib/segment/analytics/worker.rb index f1c7ef4..7f1a286 100644 --- a/lib/segment/analytics/worker.rb +++ b/lib/segment/analytics/worker.rb @@ -9,6 +9,7 @@ class Analytics class Worker include Segment::Analytics::Utils include Segment::Analytics::Defaults + include Segment::Analytics::Logging # public: Creates a new worker # @@ -44,6 +45,7 @@ def run end end + logger.debug("Sending request for #{@batch.length} items") res = @request.post(@write_key, @batch) @on_error.call(res.status, res.error) unless res.status == 200