def _get_logger(self, modulename, classname="", caller_func=""):
"""Configure and return loggerAdapter instance.
"""
if classname:
classname = "{0}.".format(classname)
if self._logger is None or self._logger.name != modulename:
self._logger = logging.getLogger(modulename)
self._logger.setLevel(getattr(logging, self.log_level))
if self.log_stream:
self._log_stream_handler = logging.StreamHandler(sys.stdout)
self._log_stream_handler.setFormatter(self.log_formatter)
present_stream_handlers = [_h for _h in self._logger.handlers if isinstance(_h, logging.StreamHandler)]
if len(present_stream_handlers) == 0:
self._logger.addHandler(self._log_stream_handler)
if self.log_file:
self._log_file_handler = logging.FileHandler(self.log_file)
self._log_file_handler.setFormatter(self.log_formatter)
present_file_handlers = [_h for _h in self._logger.handlers if isinstance(_h, logging.FileHandler)]
if len(present_file_handlers) == 0:
self._logger.addHandler(self._log_file_handler)
if self.for_exception:
self._logger_adapter = logging.LoggerAdapter(self._logger, {'caller_module': modulename, 'caller_func': caller_func, 'caller_class': classname})
else:
self._logger_adapter = logging.LoggerAdapter(self._logger, {'classname': classname})
return self._logger_adapter
评论列表
文章目录