Skip to content

Commit cf769b7

Browse files
authored
Merge pull request fluent#132 from mastak/feature/lazy-sender
added lazy sender initializer
2 parents 268f577 + 4ebb946 commit cf769b7

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

fluent/handler.py

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,18 +192,36 @@ def __init__(self,
192192
**kwargs):
193193

194194
self.tag = tag
195-
self.sender = self.getSenderInstance(tag,
196-
host=host, port=port,
197-
timeout=timeout, verbose=verbose,
198-
buffer_overflow_handler=buffer_overflow_handler,
199-
msgpack_kwargs=msgpack_kwargs,
200-
nanosecond_precision=nanosecond_precision,
201-
**kwargs)
195+
self._host = host
196+
self._port = port
197+
self._timeout = timeout
198+
self._verbose = verbose
199+
self._buffer_overflow_handler = buffer_overflow_handler
200+
self._msgpack_kwargs = msgpack_kwargs
201+
self._nanosecond_precision = nanosecond_precision
202+
self._kwargs = kwargs
203+
self._sender = None
202204
logging.Handler.__init__(self)
203205

204206
def getSenderClass(self):
205207
return sender.FluentSender
206208

209+
@property
210+
def sender(self):
211+
if self._sender is None:
212+
self._sender = self.getSenderInstance(
213+
tag=self.tag,
214+
host=self._host,
215+
port=self._port,
216+
timeout=self._timeout,
217+
verbose=self._verbose,
218+
buffer_overflow_handler=self._buffer_overflow_handler,
219+
msgpack_kwargs=self._msgpack_kwargs,
220+
nanosecond_precision=self._nanosecond_precision,
221+
**self._kwargs
222+
)
223+
return self._sender
224+
207225
def getSenderInstance(self, tag, host, port, timeout, verbose,
208226
buffer_overflow_handler, msgpack_kwargs,
209227
nanosecond_precision, **kwargs):

0 commit comments

Comments
 (0)