Skip to content

Commit e69e807

Browse files
committed
v1.0.4 - cast interval/backups to int, clear existing handlers by default
1 parent cd94f18 commit e69e807

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*.log
1+
*.log*
22
*.swp
33
__pycache__
44
.idea

privex/loghelper/LogHelper.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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
)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
setup(
2929
name='privex_loghelper',
3030

31-
version='1.0.3',
31+
version='1.0.4',
3232

3333
description='Small dependency-free class to make logging easier',
3434
long_description=long_description,

0 commit comments

Comments
 (0)