Skip to content

Commit 463337d

Browse files
committed
Bumped v0.7.0
Signed-off-by: Vishal Rana <vr@labstack.com>
1 parent a11a016 commit 463337d

File tree

2 files changed

+10
-30
lines changed

2 files changed

+10
-30
lines changed

labstack/log.py

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,36 +8,26 @@
88
from enum import IntEnum
99
import requests
1010
import arrow
11-
from apscheduler.schedulers.background import BackgroundScheduler
1211
from .common import API_URL
1312

1413
class _Log():
1514
def __init__(self, interceptor):
1615
self.path = '/log'
1716
self.interceptor = interceptor
18-
self._timer = None
19-
self.entries = []
2017
self.level = Level.INFO
2118
self.fields = {}
22-
self.batch_size = 60
23-
self.dispatch_interval = 60
2419

2520
# Automatically report uncaught fatal error
2621
def excepthook(type, value, trace):
2722
self.fatal(message=str(value), stack_trace=''.join(traceback.format_tb(trace)))
2823
sys.__excepthook__(type, value, trace)
2924
sys.excepthook = excepthook
3025

31-
def _dispatch(self):
32-
if len(self.entries) == 0:
33-
return
34-
try:
35-
r = requests.post(API_URL + self.path, auth=self.interceptor, data=json.dumps(self.entries))
36-
if not 200 <= r.status_code < 300:
37-
data = r.json()
38-
raise LogError(data['code'], data['message'])
39-
finally:
40-
self.entries.clear()
26+
def _dispatch(self, entry):
27+
r = requests.post(API_URL + self.path, auth=self.interceptor, data=json.dumps(entry))
28+
if not 200 <= r.status_code < 300:
29+
data = r.json()
30+
raise LogError(data['code'], data['message'])
4131

4232
def add_fields(self, **kwargs):
4333
self.fields.update(kwargs)
@@ -60,23 +50,14 @@ def fatal(self, **kwargs):
6050
def _log(self, level, **kwargs):
6151
if level < self.level:
6252
return
63-
64-
if self._timer is None:
65-
self.timer = BackgroundScheduler()
66-
self.timer.add_job(self._dispatch, 'interval', seconds=self.dispatch_interval)
67-
self.timer.start()
6853

6954
kwargs['time'] = arrow.now().format('YYYY-MM-DDTHH:mm:ss.SSSZ')
70-
for k, v in self.fields.items():
71-
kwargs[k] = v
7255
kwargs['level'] = level.name
73-
self.entries.append(kwargs)
7456

75-
if level == Level.FATAL or len(self.entries) >= self.batch_size:
76-
try:
77-
self._dispatch()
78-
except LogError as err:
79-
print('log error: code={}, message={}'.format(err.code, err.message))
57+
try:
58+
self._dispatch(kwargs)
59+
except LogError as err:
60+
print('log error: code={}, message={}'.format(err.code, err.message))
8061

8162
class Level(IntEnum):
8263
DEBUG = 0

setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name='labstack',
5-
version='0.6.7',
5+
version='0.7.0',
66
description='Official Python client library for the LabStack platform',
77
long_description='`<https://github.com/labstack/labstack-python>`_',
88
keywords='labstack cube email log mqtt store',
@@ -12,7 +12,6 @@
1212
license='MIT',
1313
packages=['labstack'],
1414
install_requires=[
15-
'apscheduler==3.3.1',
1615
'arrow==0.10.0',
1716
'paho-mqtt==1.3.0',
1817
'requests==2.18.1'

0 commit comments

Comments
 (0)