Skip to content

Commit 3186f31

Browse files
committed
Enhance NoSQLHandleConfig.set_logger to accept None logger to disable logging.
1 parent d2f8590 commit 3186f31

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

src/borneo/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ def check_list(data, name):
185185

186186
@staticmethod
187187
def check_logger(data, name):
188-
if not isinstance(data, Logger):
188+
if data is not None and not isinstance(data, Logger):
189189
raise IllegalArgumentException(name + ' must be a Logger.')
190190

191191
@staticmethod

src/borneo/config.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,7 @@ def __init__(self, endpoint=None, provider=None):
561561
self._ssl_ctx = None
562562
self._ssl_protocol = None
563563
self._logger = None
564+
self._is_default_logger = True
564565

565566
def get_service_url(self):
566567
"""
@@ -1114,14 +1115,15 @@ def set_logger(self, logger):
11141115
"""
11151116
Sets the logger used for the driver.
11161117
1117-
:param logger: the logger.
1118+
:param logger: the logger or None, None means disable logging.
11181119
:type logger: Logger
11191120
:returns: self.
11201121
:raises IllegalArgumentException: raises the exception if logger is not
11211122
an instance of Logger.
11221123
"""
11231124
CheckValue.check_logger(logger, 'logger')
11241125
self._logger = logger
1126+
self._is_default_logger = False
11251127
return self
11261128

11271129
def get_logger(self):
@@ -1151,6 +1153,10 @@ def clone(self):
11511153
self._auth_provider = auth_provider
11521154
return clone_config
11531155

1156+
def is_default_logger(self):
1157+
# Internal use only
1158+
return self._is_default_logger
1159+
11541160
#
11551161
# Return a url from an endpoint string that has the format
11561162
# [protocol:][//]host[:port]

src/borneo/driver.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -649,15 +649,15 @@ def _get_logger(self, config):
649649
Returns the logger used for the driver. If no logger is specified,
650650
create one based on this class name.
651651
"""
652-
if config.get_logger() is not None:
653-
logger = config.get_logger()
654-
else:
652+
if config.get_logger() is None and config.is_default_logger():
655653
logger = getLogger(self.__class__.__name__)
656654
logger.setLevel(WARNING)
657655
log_dir = path.join(path.abspath(path.dirname(argv[0])), 'logs')
658656
if not path.exists(log_dir):
659657
mkdir(log_dir)
660658
logger.addHandler(FileHandler(path.join(log_dir, 'driver.log')))
659+
else:
660+
logger = config.get_logger()
661661
return logger
662662

663663
@staticmethod

0 commit comments

Comments
 (0)