-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.py
More file actions
40 lines (32 loc) · 1.01 KB
/
logger.py
File metadata and controls
40 lines (32 loc) · 1.01 KB
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
from config import Config
class Logger(logging.Logger):
"""
Logger class
Specifies handlers and format
"""
LOGGER_FORMAT = "%(asctime)s\t%(levelname)-7s\t%(name)-12s\t%(message)s"
def __init__(self, name):
super().__init__(name)
self.add_c_handler()
self.add_f_handler()
def add_c_handler(self) -> None:
"""
Adds stdout handler
:return: None
"""
handler = logging.StreamHandler()
handler.setLevel(Config.LOGGING_COMMAND_LINE_LEVEL)
formatter = logging.Formatter(self.LOGGER_FORMAT)
handler.setFormatter(formatter)
self.addHandler(handler)
def add_f_handler(self) -> None:
"""
Adds file handler
:return: None
"""
handler = logging.FileHandler(Config.LOGGING_FILE)
handler.setLevel(Config.LOGGING_FILE_LEVEL)
formatter = logging.Formatter(self.LOGGER_FORMAT)
handler.setFormatter(formatter)
self.addHandler(handler)