8
8
import logging .handlers
9
9
10
10
11
- def shutdown_logs ( logger : object ) -> None :
11
+ def set_root_logger () :
12
12
"""
13
- To prevent duplicate filehandlers and system handlers close
14
- and remove all handlers for a logging object
15
- :return (None):
13
+ Set up root logger and add stream handler - we only want to add stream handler once
14
+ else it will duplicate log messages to the terminal
16
15
"""
17
- for handler in logger .handlers [:]:
18
- logger .removeHandler (handler )
19
- handler .close ()
16
+ logger = logging .getLogger ()
17
+ logger .setLevel (logging .DEBUG )
18
+ stream_handler = logging .StreamHandler (sys .stdout )
19
+ stream_handler .setLevel (logging .DEBUG )
20
+ stream_handler .setFormatter (logging .Formatter (config .LOGGING_FORMATTER ))
21
+ stream_handler .name = "stream_handler"
22
+ logger .addHandler (stream_handler )
20
23
21
24
22
25
class SSLogger :
23
26
"""
24
- Creates a python logging object with a file handler, syslog handler and stream handler
27
+ Creates a python logging object with a file handler and syslog handler
25
28
26
29
Attributes
27
30
timestamp (str): Timestamp from config
@@ -35,8 +38,6 @@ class SSLogger:
35
38
Get file handler for the logger
36
39
_get_syslog_handler()
37
40
Get syslog handler for the logger
38
- _get_stream_handler()
39
- Get stream handler for the logger (sends to stdout)
40
41
"""
41
42
42
43
def __init__ (self , logfile_path : str ):
@@ -58,7 +59,6 @@ def get_logger(self) -> logging.Logger:
58
59
logger .filepath = self .logfile_path
59
60
logger .setLevel (logging .DEBUG )
60
61
logger .addHandler (self ._get_file_handler ())
61
- logger .addHandler (self ._get_stream_handler ())
62
62
logger .addHandler (self ._get_syslog_handler ())
63
63
logger .timestamp = self .timestamp
64
64
logger .log_msgs = config .LOG_MSGS
@@ -85,14 +85,3 @@ def _get_syslog_handler(self) -> logging.handlers.SysLogHandler:
85
85
syslog_handler .setFormatter (self .logging_formatter )
86
86
syslog_handler .name = "syslog_handler"
87
87
return syslog_handler
88
-
89
- def _get_stream_handler (self ) -> logging .StreamHandler :
90
- """
91
- Get stream handler for the logger (sends to stdout)
92
- :return stream_handler (logging.StreamHandler): StreamHandler
93
- """
94
- stream_handler = logging .StreamHandler (sys .stdout )
95
- stream_handler .setLevel (logging .DEBUG )
96
- stream_handler .setFormatter (self .logging_formatter )
97
- stream_handler .name = "stream_handler"
98
- return stream_handler
0 commit comments