fluent-plugin-cloudwatch-logs 0.10.1 → 0.10.2

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: 3445e1c11e8856669ee57b3557865f0f4944699dd49a93c61e518c3cbe88de9b
4
- data.tar.gz: 43453d4dd9eefed4805541de0e69f0715e2caf9d451c705c5ab403a77f85473b
3
+ metadata.gz: 3a66a32521964e4be0392f1d786e81750850b4f027b5ec9649a9033ab330595a
4
+ data.tar.gz: 6041e92eea6e3148133a78a72ad3d9702ff33f89da89216e4bff579693459725
5
5
  SHA512:
6
- metadata.gz: 8fa3558069bba0d7d9ffe98d61357eef71fd05648c5eaedc614fe0b5a0ced11d8a8fb2bb34a43b4dcab7990bcfd07f4540406334a46293b75be84b2c5986af54
7
- data.tar.gz: 7e1a3196f98975d0f9a24d0f14b3a49f14e603eefc76533384fe4bc5bec4547ef9e78d8690ea99c282e04ba861c8ca243684da3ee5ffaa12645f6aa59fe1c670
6
+ metadata.gz: e8c2a9720f9e309698c1ac04e51bcb1acbe141443997dde1e9daf636cc9ce5356d3f87f7fb9ea18b7c9c760e1e9a57039e9d7aafb1bbcf98d2cbe3f657e89483
7
+ data.tar.gz: bf1d58dd34328aedb4d18529b9f172c05b442a3040a332ee0f5d4edfd1e76b50b2df72f2edeb195f44a77ea45628627e3f4413847203581c9610bc5cee69fb75
@@ -2,7 +2,7 @@ module Fluent
2
2
  module Plugin
3
3
  module Cloudwatch
4
4
  module Logs
5
- VERSION = "0.10.1"
5
+ VERSION = "0.10.2"
6
6
  end
7
7
  end
8
8
  end
@@ -132,6 +132,9 @@ module Fluent::Plugin
132
132
  def write(chunk)
133
133
  log_group_name = extract_placeholders(@log_group_name, chunk) if @log_group_name
134
134
  log_stream_name = extract_placeholders(@log_stream_name, chunk) if @log_stream_name
135
+ aws_tags = @log_group_aws_tags.each {|k, v|
136
+ @log_group_aws_tags[extract_placeholders(k, chunk)] = extract_placeholders(v, chunk)
137
+ } if @log_group_aws_tags
135
138
 
136
139
  queue = Thread::Queue.new
137
140
 
@@ -184,7 +187,7 @@ module Fluent::Plugin
184
187
  #as we create log group only once, values from first record will persist
185
188
  record = rs[0][2]
186
189
 
187
- awstags = @log_group_aws_tags
190
+ awstags = aws_tags
188
191
  unless @log_group_aws_tags_key.nil?
189
192
  if @remove_log_group_aws_tags_key
190
193
  awstags = record.delete(@log_group_aws_tags_key)
@@ -630,6 +630,8 @@ class CloudwatchLogsInputTest < Test::Unit::TestCase
630
630
  end
631
631
 
632
632
  test "emit with today's log stream" do
633
+ omit "This testcase is unstable in CI." if ENV["CI"] == "true"
634
+
633
635
  config = <<-CONFIG
634
636
  tag test
635
637
  @type cloudwatch_logs
@@ -492,6 +492,47 @@ class CloudwatchLogsOutputTest < Test::Unit::TestCase
492
492
  assert_equal("value2", awstags.fetch("tag2"))
493
493
  end
494
494
 
495
+ def test_log_group_aws_tags_with_placeholders
496
+ clear_log_group
497
+
498
+ config = {
499
+ "@type" => "cloudwatch_logs",
500
+ "auto_create_stream" => true,
501
+ "use_tag_as_stream" => true,
502
+ "log_group_name_key" => "group_name_key",
503
+ "log_group_aws_tags" => '{"tag1": "${tag}", "tag2": "${namespace_name}"}',
504
+ }
505
+ config.merge!(config_elementify(aws_key_id)) if aws_key_id
506
+ config.merge!(config_elementify(aws_sec_key)) if aws_sec_key
507
+ config.merge!(config_elementify(region)) if region
508
+ config.merge!(config_elementify(endpoint)) if endpoint
509
+
510
+ d = create_driver(
511
+ Fluent::Config::Element.new('ROOT', '', config, [
512
+ Fluent::Config::Element.new('buffer', 'tag, namespace_name', {
513
+ '@type' => 'memory',
514
+ }, [])
515
+ ])
516
+ )
517
+
518
+ records = [
519
+ {'cloudwatch' => 'logs1', 'message' => 'message1', 'group_name_key' => log_group_name, "namespace_name" => "fluentd"},
520
+ {'cloudwatch' => 'logs2', 'message' => 'message1', 'group_name_key' => log_group_name, "namespace_name" => "fluentd"},
521
+ {'cloudwatch' => 'logs3', 'message' => 'message1', 'group_name_key' => log_group_name, "namespace_name" => "fluentd"},
522
+ ]
523
+
524
+ time = Time.now
525
+ d.run(default_tag: fluentd_tag) do
526
+ records.each_with_index do |record, i|
527
+ d.feed(time.to_i + i, record)
528
+ end
529
+ end
530
+
531
+ awstags = get_log_group_tags
532
+ assert_equal(fluentd_tag, awstags.fetch("tag1"))
533
+ assert_equal("fluentd", awstags.fetch("tag2"))
534
+ end
535
+
495
536
  def test_retention_in_days
496
537
  clear_log_group
497
538
 
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.10.1
4
+ version: 0.10.2
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-07-15 00:00:00.000000000 Z
11
+ date: 2020-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fluentd