Skip to content
This repository was archived by the owner on Nov 22, 2024. It is now read-only.

Commit e8ba3e3

Browse files
committed
only create one logger - longstanding issue solved
1 parent e460d78 commit e8ba3e3

1 file changed

Lines changed: 20 additions & 15 deletions

File tree

CloudFlare/logging_helper.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,40 @@
1313
class CFlogger(object):
1414
""" Logging for Cloudflare API"""
1515

16+
logger = None
17+
request_logger = None
18+
1619
def __init__(self, level):
1720
""" Logging for Cloudflare API"""
1821
self.logger_level = self._get_logging_level(level)
1922
#logging.basicConfig(level=self.logger_level)
20-
request_logger = logging.getLogger("requests.packages.urllib3")
21-
request_logger.setLevel(self.logger_level)
22-
request_logger.propagate = level
23+
if CFlogger.request_logger is None:
24+
CFlogger.request_logger = logging.getLogger("requests.packages.urllib3")
25+
CFlogger.request_logger.setLevel(self.logger_level)
26+
CFlogger.request_logger.propagate = level
2327

2428
def getLogger(self):
2529
""" Logging for Cloudflare API"""
2630
# create logger
27-
logger = logging.getLogger('Python Cloudflare API v4')
28-
logger.setLevel(self.logger_level)
31+
if CFlogger.logger is None:
32+
CFlogger.logger = logging.getLogger('Python Cloudflare API v4')
33+
CFlogger.logger.setLevel(self.logger_level)
2934

30-
ch = logging.StreamHandler()
31-
ch.setLevel(self.logger_level)
35+
ch = logging.StreamHandler()
36+
ch.setLevel(self.logger_level)
3237

33-
# create formatter
34-
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
38+
# create formatter
39+
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
3540

36-
# add formatter to ch
37-
ch.setFormatter(formatter)
41+
# add formatter to ch
42+
ch.setFormatter(formatter)
3843

39-
# add ch to logger
40-
logger.addHandler(ch)
44+
# add ch to logger
45+
CFlogger.logger.addHandler(ch)
4146

42-
# http_client.HTTPConnection.debuglevel = 1
47+
# http_client.HTTPConnection.debuglevel = 1
4348

44-
return logger
49+
return CFlogger.logger
4550

4651
def _get_logging_level(self, level):
4752
""" Logging for Cloudflare API"""

0 commit comments

Comments
 (0)