Skip to content

Commit b9cd3f5

Browse files
author
Inbal Tako
committed
Fix logger and event manager
1 parent f59190d commit b9cd3f5

3 files changed

Lines changed: 23 additions & 11 deletions

File tree

securenative/event_manager.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import copy
22
import json
3+
import sched
34
import threading
45
import time
56

@@ -31,14 +32,15 @@ def __init__(self, options=SecureNativeOptions(), http_client=None):
3132
self.send_enabled = False
3233
self.attempt = 0
3334
self.coefficients = [1, 1, 2, 3, 5, 8, 13]
35+
self.scheduler = None
3436

3537
if self.options.auto_send and not self.options.disable:
3638
interval_seconds = max(options.interval // 1000, 1)
3739
threading.Timer(interval_seconds, self.flush).start()
3840

3941
def send_async(self, event, resource_path):
4042
if self.options.disable:
41-
Logger.warn("SDK is disabled. no operation will be performed")
43+
Logger.warning("SDK is disabled. no operation will be performed")
4244
return
4345

4446
item = QueueItem(
@@ -60,7 +62,7 @@ def flush(self):
6062

6163
def send_sync(self, event, resource_path, retry):
6264
if self.options.disable:
63-
Logger.warn("SDK is disabled. no operation will be performed")
65+
Logger.warning("SDK is disabled. no operation will be performed")
6466
return
6567

6668
Logger.debug("Attempting to send event {}".format(event.as_dict()))
@@ -113,13 +115,21 @@ def start_event_persist(self):
113115
Logger.debug("Starting automatic event persistence")
114116
if self.options.auto_send or self.send_enabled:
115117
self.send_enabled = True
116-
# TODO add scheduler
118+
try:
119+
self.scheduler = sched.scheduler(time.time, time.sleep)
120+
self.scheduler.enter(self.options.interval, 1, self._send_events)
121+
self.scheduler.run()
122+
except Exception:
123+
pass
117124
else:
118125
Logger.debug("Automatic event persistence is disabled, you should persist events manually")
119126

120127
def stop_event_persist(self):
121128
if self.send_enabled:
122129
Logger.debug("Attempting to stop automatic event persistence")
123-
# TODO shut down scheduler
130+
try:
131+
self.scheduler.cancel(self._send_events)
132+
except ValueError:
133+
pass
124134

125135
Logger.debug("Stopped event persistence")

securenative/logger.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
11
import logging
22

33

4-
class Logger(object): # TODO!
4+
class Logger(object):
5+
logger = logging.getLogger()
56

67
@staticmethod
78
def init_logger(level):
8-
pass
9+
logging.basicConfig(level=level, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s")
910

1011
@staticmethod
1112
def info(msg):
12-
logging.info(msg)
13+
Logger.logger.info(msg)
1314

1415
@staticmethod
1516
def debug(msg):
16-
pass
17+
Logger.logger.debug(msg)
1718

1819
@staticmethod
19-
def warn(msg):
20-
pass
20+
def warning(msg):
21+
Logger.logger.warning(msg)
2122

2223
@staticmethod
2324
def error(msg):
24-
pass
25+
Logger.logger.error(msg)

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
install_requires=[
2222
"requests",
2323
"pycrypro",
24+
"crypto",
2425
],
2526
classifiers=[
2627
'Development Status :: 5 - Production/Stable',

0 commit comments

Comments
 (0)