-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlogger.py
40 lines (30 loc) · 1.06 KB
/
logger.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import logging
import logging.config
logging.config.fileConfig(fname='logger.conf', disable_existing_loggers=False)
logger = logging.getLogger('backtester') # must be same string as qualname value inside the .conf file
def logdebug(message, feed=None):
logger.debug(inject_feed(message, feed))
pass
def loginfo(message, feed=None):
logger.info(inject_feed(message, feed))
def logwarning(message, feed=None):
logger.warning(inject_feed(message, feed))
def logerror(message, feed=None):
logger.exception(inject_feed(message, feed))
def logcritical(message, feed=None):
logger.critical(inject_feed(message, feed))
def inject_feed(message, feed):
if feed:
try:
name = feed._name
time = feed.datetime.date()
message = f'[{name} @ {time}] {message}'
except Exception as e:
message = f'[FEEDERROR] {message}'
return message
def assertlog(predicat, msg):
try:
assert predicat, msg
except AssertionError as e:
logerror('AssetionError: ' + msg)
raise e