8000 Merge pull request #80 from kiseok7/master · harish2704/fluent-logger-python@45fff4b · GitHub
[go: up one dir, main page]

Skip to content

Commit 45fff4b

Browse files
authored
Merge pull request fluent#80 from kiseok7/master
Add context manager to FluentSender in fluent/sender.py
2 parents fffa39a + 90ba39b commit 45fff4b

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

fluent/sender.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,9 @@ def _close(self):
198198
if self.socket:
199199
self.socket.close()
200200
self.socket = None
201+
202+
def __enter__(self):
203+
return self
204+
205+
def __exit__(self, typ, value, traceback):
206+
self.close()

tests/test_sender.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,18 @@ def test_simple(self):
6565
self.assertTrue(data[0][1])
6666
self.assertTrue(isinstance(data[0][1], int))
6767

68+
def test_decorator_simple(self):
69+
with self._sender as sender:
70+
sender.emit('foo', {'bar': 'baz'})
71+
data = self.get_data()
72+
eq = self.assertEqual
73+
eq(1, len(data))
74+
eq(3, len(data[0]))
75+
eq('test.foo', data[0][0])
76+
eq({'bar': 'baz'}, data[0][2])
77+
self.assertTrue(data[0][1])
78+
self.assertTrue(isinstance(data[0][1], int))
79+
6880
def test_nanosecond(self):
6981
sender = self._sender
7082
sender.nanosecond_precision = True

0 commit comments

Comments
 (0)
0