Class: CircleciTools::LogUploader
- Inherits:
-
Object
- Object
- CircleciTools::LogUploader
- Includes:
- Retryable
- Defined in:
- lib/circleci-tools/log_uploader.rb
Constant Summary collapse
- MAX_THREADS =
5
Constants included from Retryable
Retryable::BACKOFF_FACTOR, Retryable::MAX_BACKOFF_TIME, Retryable::MAX_RETRIES
Instance Method Summary collapse
-
#initialize(log_group_name, dry_run: false) ⇒ LogUploader
constructor
A new instance of LogUploader.
- #upload_file(file_path) ⇒ Object
Methods included from Retryable
Constructor Details
#initialize(log_group_name, dry_run: false) ⇒ LogUploader
Returns a new instance of LogUploader.
15 16 17 18 19 20 21 |
# File 'lib/circleci-tools/log_uploader.rb', line 15 def initialize(log_group_name, dry_run: false) @log_group_name = log_group_name @dry_run = dry_run @client = Aws::CloudWatchLogs::Client.new ensure_log_group_exists end |
Instance Method Details
#upload_file(file_path) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/circleci-tools/log_uploader.rb', line 23 def upload_file(file_path) events = generate_events(file_path) events.sort_by! { |event| event[:timestamp] } grouped_events = group_events_by_date(events) if @dry_run handle_dry_run(grouped_events) else upload_grouped_events(grouped_events, file_path) end end |