-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.py
29 lines (26 loc) · 915 Bytes
/
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
import logging, sys
def _logger(debug=False, logfile='Data/log.txt', verbose=False):
logFormatter = logging.Formatter(
'%(asctime)s [%(threadName)-12.12s] [%(levelname)-5.5s] %(message)s'
)
rootLogger = logging.getLogger()
# set debugging level
if debug:
level = logging.DEBUG
else:
level = logging.INFO
rootLogger.setLevel(level)
# file logging to logfile
fileHandler = logging.FileHandler(logfile)
fileHandler.setFormatter(logFormatter)
rootLogger.addHandler(fileHandler)
# logging to std out
consoleHandler = logging.StreamHandler(sys.stdout)
consoleHandler.setFormatter(logFormatter)
# if verbose is set we print level else we print warnings only
if verbose:
consoleHandler.setLevel(level)
else:
consoleHandler.setLevel(logging.WARNING)
rootLogger.addHandler(consoleHandler)
return rootLogger