8000 support event post, with timestamp · ludwick/fluent-logger-python@75cd01c · GitHub
[go: up one dir, main page]

Skip to content

Commit 75cd01c

Browse files
committed
support event post, with timestamp
1 parent df6c47c commit 75cd01c

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

fluent/event.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
from fluent import sender
2+
import time
23

34
class Event(object):
45
def __init__(self, label, data, **kwargs):
56
if not isinstance(data, dict) :
67
raise Exception("data must be dict")
7-
l = ('sender' in kwargs) and kwargs['sender'] or sender.get_global_sender()
8-
l.emit(label, data)
8+
s = kwargs['sender'] if ('sender' in kwargs) else sender.get_global_sender()
9+
timestamp = kwargs['time'] if ('time' in kwargs) else int(time.time())
10+
s.emit_with_time(label, timestamp, data)

fluent/sender.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,16 +43,19 @@ def __init__(self,
4343
self._close()
4444

4545
def emit(self, label, data):
46-
bytes = self._make_packet(label, data)
46+
cur_time = int(time.time())
47+
self.emit_with_time(label, cur_time, data)
48+
49+
def emit_with_time(self, label, timestamp, data):
50+
bytes = self._make_packet(label, timestamp, data)
4751
self._send(bytes)
4852

49-
def _make_packet(self, label, data):
53+
def _make_packet(self, label, timestamp, data):
5054
if label:
5155
tag = '.'.join((self.tag, label))
5256
else:
5357
tag = self.tag
54-
cur_time = int(time.time())
55-
packet = (tag, cur_time, data)
58+
packet = (tag, timestamp, data)
5659
if self.verbose:
5760
print packet
5861
return self.packer.pack(packet)

tests/test_event.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import unittest
2+
import time
23

34
import fluent
45
from fluent import event, sender
@@ -12,3 +13,10 @@ def testLogging(self):
1213
'from': 'userA',
1314
'to': 'userB'
1415
})
16+
17+
# send event with tag app.follow, with timestamp
18+
event.Event('follow', {
19+
'from': 'userA',
20+
'to': 'userB'
21+
}, time=int(0))
22+

0 commit comments

Comments
 (0)
0