fluent-plugin-cloudwatch-logs 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78f1db9d7f30ff9acd63810f0591d7ef63a6d198
|
4
|
+
data.tar.gz: 6e8686feb438687d1b14abdeb090e25ba96f4b4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4fbe6d504e7b827d086ee786b57db5c0448fda0eb6714e23185ff485529b1dff2abbbdb4ec9b1a26f6165465aab8f9bf91fb88870d4296af1f8c0ceb72df1a2
|
7
|
+
data.tar.gz: b29e60c61e6b27548e18512841da8fee0332087351f015ab53e3af9ebbe76ab447b0ea84e1e6059365347a798e5fc17ba1be205c09c0ed9f7d5dec30b0ed5b3c
|
@@ -9,6 +9,8 @@ module Fluent
|
|
9
9
|
config_param :log_stream_name, :string
|
10
10
|
config_param :sequence_token_file, :string
|
11
11
|
config_param :auto_create_stream, :bool, default: false
|
12
|
+
config_param :message_keys, :string, :default => nil
|
13
|
+
config_param :max_message_length, :integer, :default => nil
|
12
14
|
|
13
15
|
unless method_defined?(:log)
|
14
16
|
define_method(:log) { $log }
|
@@ -39,7 +41,19 @@ module Fluent
|
|
39
41
|
events = []
|
40
42
|
chunk.msgpack_each do |tag, time, record|
|
41
43
|
time_ms = time * 1000
|
42
|
-
|
44
|
+
|
45
|
+
if @message_keys
|
46
|
+
message = @message_keys.split(',').map {|k| record[k].to_s }.join(' ')
|
47
|
+
else
|
48
|
+
message = record.to_json
|
49
|
+
end
|
50
|
+
|
51
|
+
if @max_message_length
|
52
|
+
message.force_encoding('ASCII-8BIT')
|
53
|
+
message = message.slice(0, @max_message_length)
|
54
|
+
end
|
55
|
+
|
56
|
+
events << {timestamp: time_ms, message: message}
|
43
57
|
end
|
44
58
|
put_events(events)
|
45
59
|
end
|
@@ -56,6 +56,53 @@ class CloudwatchLogsOutputTest < Test::Unit::TestCase
|
|
56
56
|
assert_equal('{"cloudwatch":"logs2"}', events[1].message)
|
57
57
|
end
|
58
58
|
|
59
|
+
def test_write_with_message_keys
|
60
|
+
new_log_stream
|
61
|
+
|
62
|
+
d = create_driver(<<-EOC)
|
63
|
+
#{default_config}
|
64
|
+
message_keys message,cloudwatch
|
65
|
+
EOC
|
66
|
+
|
67
|
+
time = Time.now
|
68
|
+
d.emit({'cloudwatch' => 'logs1', 'message' => 'message1'}, time.to_i)
|
69
|
+
d.emit({'cloudwatch' => 'logs2', 'message' => 'message2'}, time.to_i + 1)
|
70
|
+
d.run
|
71
|
+
|
72
|
+
sleep 20
|
73
|
+
|
74
|
+
events = get_log_events
|
75
|
+
assert_equal(2, events.size)
|
76
|
+
assert_equal(time.to_i * 1000, events[0].timestamp)
|
77
|
+
assert_equal('message1 logs1', events[0].message)
|
78
|
+
assert_equal((time.to_i + 1) * 1000, events[1].timestamp)
|
79
|
+
assert_equal('message2 logs2', events[1].message)
|
80
|
+
end
|
81
|
+
|
82
|
+
def test_write_with_max_message_length
|
83
|
+
new_log_stream
|
84
|
+
|
85
|
+
d = create_driver(<<-EOC)
|
86
|
+
#{default_config}
|
87
|
+
message_keys message,cloudwatch
|
88
|
+
max_message_length 10
|
89
|
+
EOC
|
90
|
+
|
91
|
+
time = Time.now
|
92
|
+
d.emit({'cloudwatch' => 'logs1', 'message' => 'message1'}, time.to_i)
|
93
|
+
d.emit({'cloudwatch' => 'logs2', 'message' => 'message2'}, time.to_i + 1)
|
94
|
+
d.run
|
95
|
+
|
96
|
+
sleep 20
|
97
|
+
|
98
|
+
events = get_log_events
|
99
|
+
assert_equal(2, events.size)
|
100
|
+
assert_equal(time.to_i * 1000, events[0].timestamp)
|
101
|
+
assert_equal('message1 l', events[0].message)
|
102
|
+
assert_equal((time.to_i + 1) * 1000, events[1].timestamp)
|
103
|
+
assert_equal('message2 l', events[1].message)
|
104
|
+
end
|
105
|
+
|
59
106
|
private
|
60
107
|
def default_config
|
61
108
|
<<-EOC
|
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.0.
|
4
|
+
version: 0.0.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: 2014-
|
11
|
+
date: 2014-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fluentd
|