fluent-plugin-cloudwatch-logs 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a468cfc9693ee888e05050e47bf6fbd44cda3b9331072cbf0fe28cbb60865cb6
4
- data.tar.gz: 7cf780a9d6110ce92279377aa8ecc2f2c311081ab4074a6259a46ebbf2e855ed
3
+ metadata.gz: aa72486196ed38595f884945613e076fecd8f66c6d77046e118a8fc24301dc06
4
+ data.tar.gz: 1076cb96661bf6d89d3a958989c04a9f690fae9b5ac6aae33a7d9231e5cbb8d5
5
5
  SHA512:
6
- metadata.gz: d093177804546cb66a2595999d5ef493d4250f0f6916cd5f7b4567e433b322f26351f629e2e2a4c333b21094f9507286771a194e24a232106666fce1383deb31
7
- data.tar.gz: 75aab7c98fa0c930de114e1dc122b94713df67cb3287a4edb5c0730dbfb8cc8a2540593bbfd3f8110c4f54581d4942ea4baacbe9f1507dc3b24e54ddf372e768
6
+ metadata.gz: c21965fb1e9c340a92cc2d482ce5fed0590736f14df03da1d6706ae039f74f2e767f897e693fafdba644306b9ab4dde178a11abcbb23fb138b7b64f6b3ba08cc
7
+ data.tar.gz: 93b8ec018eeffa3229b12f9daf312ec660eafb39d4159c42c92863c0150a3d29c43b93ff55dfda46e4f03917a96eb92ef4f59f358e23eda2e37facb0572ecfce
data/README.md CHANGED
@@ -149,7 +149,7 @@ Fetch sample log from CloudWatch Logs:
149
149
  * `remove_log_group_aws_tags_key`: remove field specified by `log_group_aws_tags_key`
150
150
  * `remove_log_group_name_key`: remove field specified by `log_group_name_key`
151
151
  * `remove_log_stream_name_key`: remove field specified by `log_stream_name_key`
152
- * `remove_retention_in_days`: remove field specified by `retention_in_days`
152
+ * `remove_retention_in_days_key`: remove field specified by `retention_in_days_key`
153
153
  * `retention_in_days`: use to set the expiry time for log group when created with `auto_create_stream`. (default to no expiry)
154
154
  * `retention_in_days_key`: use specified field of records as retention period
155
155
  * `use_tag_as_group`: to use tag as a group name
@@ -2,7 +2,7 @@ module Fluent
2
2
  module Plugin
3
3
  module Cloudwatch
4
4
  module Logs
5
- VERSION = "0.9.2"
5
+ VERSION = "0.9.3"
6
6
  end
7
7
  end
8
8
  end
@@ -41,7 +41,7 @@ module Fluent::Plugin
41
41
  config_param :remove_log_group_aws_tags_key, :bool, default: false
42
42
  config_param :retention_in_days, :integer, default: nil
43
43
  config_param :retention_in_days_key, :string, default: nil
44
- config_param :remove_retention_in_days, :bool, default: false
44
+ config_param :remove_retention_in_days_key, :bool, default: false
45
45
  config_param :json_handler, :enum, list: [:yajl, :json], :default => :yajl
46
46
  config_param :log_rejected_request, :bool, :default => false
47
47
 
@@ -219,6 +219,14 @@ module Fluent::Plugin
219
219
 
220
220
  events = []
221
221
  rs.each do |t, time, record|
222
+ if @log_group_aws_tags_key && @remove_log_group_aws_tags_key
223
+ record.delete(@log_group_aws_tags_key)
224
+ end
225
+
226
+ if @retention_in_days_key && @remove_retention_in_days_key
227
+ record.delete(@retention_in_days_key)
228
+ end
229
+
222
230
  record = drop_empty_record(record)
223
231
 
224
232
  time_ms = (time.to_f * 1000).floor
@@ -547,6 +547,37 @@ class CloudwatchLogsOutputTest < Test::Unit::TestCase
547
547
  assert(d.logs.any?{|log| log.include?("failed to set retention policy for Log group")})
548
548
  end
549
549
 
550
+ def test_remove_retention_in_days_key
551
+ new_log_stream
552
+
553
+ d = create_driver(<<-EOC)
554
+ #{default_config}
555
+ log_group_name #{log_group_name}
556
+ log_stream_name #{log_stream_name}
557
+ retention_in_days_key retention_in_days
558
+ remove_retention_in_days_key true
559
+ EOC
560
+
561
+ records = [
562
+ {'cloudwatch' => 'logs1', 'message' => 'message1', 'retention_in_days' => '7'},
563
+ {'cloudwatch' => 'logs2', 'message' => 'message2', 'retention_in_days' => '7'},
564
+ ]
565
+
566
+ time = Time.now
567
+ d.run(default_tag: fluentd_tag) do
568
+ records.each_with_index do |record, i|
569
+ d.feed(time.to_i + i, record)
570
+ end
571
+ end
572
+
573
+ sleep 10
574
+
575
+ events = get_log_events
576
+ assert_equal(2, events.size)
577
+ assert_equal({'cloudwatch' => 'logs1', 'message' => 'message1'}, JSON.parse(events[0].message))
578
+ assert_equal({'cloudwatch' => 'logs2', 'message' => 'message2'}, JSON.parse(events[1].message))
579
+ end
580
+
550
581
  def test_log_group_aws_tags_key
551
582
  clear_log_group
552
583
 
@@ -576,6 +607,37 @@ class CloudwatchLogsOutputTest < Test::Unit::TestCase
576
607
  assert_equal("value2", awstags.fetch("tag2"))
577
608
  end
578
609
 
610
+ def test_remove_log_group_aws_tags_key
611
+ new_log_stream
612
+
613
+ d = create_driver(<<-EOC)
614
+ #{default_config}
615
+ log_group_name #{log_group_name}
616
+ log_stream_name #{log_stream_name}
617
+ log_group_aws_tags_key log_group_tags
618
+ remove_log_group_aws_tags_key true
619
+ EOC
620
+
621
+ records = [
622
+ {'cloudwatch' => 'logs1', 'message' => 'message1', 'log_group_tags' => {"tag1" => "value1", "tag2" => "value2"}},
623
+ {'cloudwatch' => 'logs2', 'message' => 'message2', 'log_group_tags' => {"tag1" => "value1", "tag2" => "value2"}},
624
+ ]
625
+
626
+ time = Time.now
627
+ d.run(default_tag: fluentd_tag) do
628
+ records.each_with_index do |record, i|
629
+ d.feed(time.to_i + i, record)
630
+ end
631
+ end
632
+
633
+ sleep 10
634
+
635
+ events = get_log_events
636
+ assert_equal(2, events.size)
637
+ assert_equal({'cloudwatch' => 'logs1', 'message' => 'message1'}, JSON.parse(events[0].message))
638
+ assert_equal({'cloudwatch' => 'logs2', 'message' => 'message2'}, JSON.parse(events[1].message))
639
+ end
640
+
579
641
  def test_log_group_aws_tags_key_same_group_diff_tags
580
642
  clear_log_group
581
643
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-cloudwatch-logs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryota Arai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-02 00:00:00.000000000 Z
11
+ date: 2020-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd