forked from Waterboy1602/Addarr
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlogger.py
30 lines (26 loc) · 993 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
30
#!/usr/bin/env python3
import logging
import os
from definitions import LOG_PATH
def getLogger(loggerName, logLevel, logToConsole):
logFormatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
logger = logging.getLogger(loggerName)
logger.setLevel(logLevel)
if loggerName == "addarr":
for h in list(logger.handlers):
logger.removeHandler(h)
os.makedirs(os.path.dirname(LOG_PATH), exist_ok=True)
fileHandler = logging.handlers.TimedRotatingFileHandler(
LOG_PATH, when="midnight", interval=1, backupCount=7,
)
fileHandler.setLevel(logLevel)
fileHandler.setFormatter(logFormatter)
logger.addHandler(fileHandler)
if logToConsole:
consoleHandler = logging.StreamHandler()
consoleHandler.setLevel(logLevel)
consoleHandler.setFormatter(logFormatter)
logger.addHandler(consoleHandler)
return logger