Skip to content

Commit 2549886

Browse files
committed
v1.0.5 - bug fixes for clearing handlers
1 parent e69e807 commit 2549886

2 files changed

Lines changed: 13 additions & 3 deletions

File tree

privex/loghelper/LogHelper.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,13 @@ def __init__(self, logger_name = None, level = logging.DEBUG, handler_level = lo
9797

9898
self.log = logging.getLogger(logger_name)
9999
if clear_handlers:
100-
self.log.handlers.clear()
100+
l = self.log
101+
# Clear any existing handlers, to avoid duplicate logs
102+
for h in l.handlers:
103+
l.removeHandler(h)
104+
# Ensure propagation is enabled, and the logger itself is enabled
105+
l.propagate = True
106+
l.disabled = False
101107
self.log.setLevel(self.level)
102108

103109
def get_logger(self):
@@ -139,7 +145,11 @@ def copy_logger(self, *logger_names):
139145
l = logging.getLogger(ln)
140146
l.setLevel(self.level)
141147
# Clear any existing handlers, to avoid duplicate logs
142-
l.handlers = []
148+
for h in l.handlers:
149+
l.removeHandler(h)
150+
# Ensure propagation is enabled, and the logger itself is enabled
151+
l.propagate = True
152+
l.disabled = False
143153
# Now re-generate the handlers using the add_xxx methods, as simply running add_handler with the
144154
# previously generated handler instances results in duplicate logging.
145155
for hname, hkwargs in self.handlers:

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.4',
31+
version='1.0.5',
3232

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

0 commit comments

Comments
 (0)