Skip to content

Commit f67a848

Browse files
committed
Switch to attr_accessor for log function
Signed-off-by: Eric Herot <[email protected]>
1 parent c8e4894 commit f67a848

File tree

2 files changed

+16
-32
lines changed

2 files changed

+16
-32
lines changed

lib/fluent/plugin/in_sql.rb

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,16 @@ class TableElement
6060
config_param :time_column, :string, default: nil
6161
config_param :primary_key, :string, default: nil
6262

63+
attr_reader :log
64+
6365
def configure(conf)
6466
super
6567
end
6668

67-
def init(tag_prefix, base_model, router)
69+
def init(tag_prefix, base_model, router, log)
6870
@router = router
6971
@tag = "#{tag_prefix}.#{@tag}" if tag_prefix
72+
@log = log
7073

7174
# creates a model for this table
7275
table_name = @table
@@ -114,7 +117,7 @@ def normalized_time(tv, now)
114117
begin
115118
Fluent::EventTime.parse(tv.to_s)
116119
rescue
117-
$log.warn "Message contains invalid timestamp, using current time instead (#{now.inspect})"
120+
log.warn "Message contains invalid timestamp, using current time instead (#{now.inspect})"
118121
now
119122
end
120123
end
@@ -226,7 +229,7 @@ def start
226229
# ignore tables if TableElement#init failed
227230
@tables.reject! do |te|
228231
begin
229-
te.init(@tag_prefix, @base_model, router)
232+
te.init(@tag_prefix, @base_model, router, log)
230233
log.info "Selecting '#{te.table}' table"
231234
false
232235
rescue => e

test/plugin/test_in_sql.rb

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def teardown
2626
table messages
2727
tag logs
2828
update_column updated_at
29-
time_column custom_time
29+
time_column updated_at
3030
</table>
3131
]
3232

@@ -66,18 +66,9 @@ def test_configure
6666

6767
def test_message
6868
d = create_driver(CONFIG + "select_interval 1")
69-
70-
start_time = Fluent::EventTime.now
71-
72-
# Create one message with a valid timestamp containing milliseconds and a time zone
73-
Message.create!(message: "message 1", custom_time: '2020-08-27 15:00:16.100758000 -0400')
74-
75-
# Create one message without a timestamp so that we can test auto-creation
76-
Message.create!(message: "message 2 (no timestamp)", custom_time: nil)
77-
78-
# Create one message with an unparseable timestamp so that we can check that a valid
79-
# one is auto-generated.
80-
Message.create!(message: "message 3 (bad timestamp)", custom_time: 'foo')
69+
Message.create!(message: "message 1")
70+
Message.create!(message: "message 2")
71+
Message.create!(message: "message 3")
8172

8273
d.end_if do
8374
d.record_count >= 3
@@ -87,25 +78,15 @@ def test_message
8778
assert_equal("db.logs", d.events[0][0])
8879
expected = [
8980
[d.events[0][1], "message 1"],
90-
[d.events[1][1], "message 2 (no timestamp)"],
91-
[d.events[2][1], "message 3 (bad timestamp)"],
81+
[d.events[1][1], "message 2"],
82+
[d.events[2][1], "message 3"],
9283
]
93-
9484
actual = [
95-
[Fluent::EventTime.parse(d.events[0][2]["custom_time"]), d.events[0][2]["message"]],
96-
d.events[1][2]["message"],
97-
d.events[2][2]["message"],
85+
[Time.parse(d.events[0][2]["updated_at"]).to_i, d.events[0][2]["message"]],
86+
[Time.parse(d.events[1][2]["updated_at"]).to_i, d.events[1][2]["message"]],
87+
[Time.parse(d.events[2][2]["updated_at"]).to_i, d.events[2][2]["message"]],
9888
]
99-
100-
assert_equal(expected[0], actual[0])
101-
102-
# Messages 2 and 3 should have the same messages but (usually) a slightly later
103-
# timestamps because they are generated by the input plugin instead of the test
104-
# code
105-
[1,2].each do |i|
106-
assert_equal(expected[i][1], actual[i])
107-
assert_operator(expected[i][0], :>=, start_time)
108-
end
89+
assert_equal(expected, actual)
10990
end
11091

11192
class Message < ActiveRecord::Base

0 commit comments

Comments
 (0)