@@ -50,7 +50,7 @@ class LogHelper:
5050 :license: X11 / MIT
5151 :source: https://github.com/Privex/python-loghelper
5252 """
53- def __init__ (self , logger_name = None , level = logging .DEBUG , handler_level = logging .INFO , formatter = None ):
53+ def __init__ (self , logger_name = None , level = logging .DEBUG , handler_level = logging .INFO , formatter = None , clear_handlers = True ):
5454 # type: (str, int, int, logging.Formatter) -> None
5555 """
5656 Initialises the class with sensible default values, including a default formatter, a global log level
@@ -78,6 +78,7 @@ def __init__(self, logger_name = None, level = logging.DEBUG, handler_level = lo
7878 will be silenced.
7979 :param handler_level: Default logging level for added handlers. Can be overridden from the methods.
8080 :param formatter: An instance of :py:class:`logging.Formatter`
81+ :param clear_handlers: If True, existing handlers will be cleared before setting up this logger. (default: True)
8182 """
8283 self .handler_level = handler_level
8384 self .level = level
@@ -95,6 +96,8 @@ def __init__(self, logger_name = None, level = logging.DEBUG, handler_level = lo
9596 self .formatter = formatter
9697
9798 self .log = logging .getLogger (logger_name )
99+ if clear_handlers :
100+ self .log .handlers .clear ()
98101 self .log .setLevel (self .level )
99102
100103 def get_logger (self ):
@@ -193,10 +196,12 @@ def add_timed_file_handler(self, file_location, when='D', interval=1, backups=14
193196
194197 :param int level: Logging level for the handler, e.g. logging.INFO. Defaults to self.handler_level
195198 :param logging.Formatter formatter: For adjusting the logging format of this handler. Defaults to self.formatter.
196- :param logging.Logger logger: Optionally, specify a logger instance to add to, instead of self.log
199+ :param logging.Logger logger: Optionally, specify a logger instance to add to, instead of self.log
197200 :return logging.handlers.TimedRotatingFileHandler: The newly generated handler instance
198201 """
199202 log = self .log if logger is None else logger
203+ interval = int (interval )
204+ backups = int (backups )
200205 handler = TimedRotatingFileHandler (
201206 file_location , when = when , interval = interval , backupCount = backups , atTime = at_time
202207 )
0 commit comments