MCPcopy Index your code
hub / github.com/InstaPy/InstaPy / get_instapy_logger

Method get_instapy_logger

instapy/instapy.py:348–391  ·  view source on GitHub ↗

Handles the creation and retrieval of loggers to avoid re-instantiation.

(self, show_logs: bool, log_handler=None)

Source from the content-addressed store, hash-verified

346 raise InstaPyError(err_msg)
347
348 def get_instapy_logger(self, show_logs: bool, log_handler=None):
349 """
350 Handles the creation and retrieval of loggers to avoid
351 re-instantiation.
352 """
353
354 existing_logger = Settings.loggers.get(self.username)
355 if existing_logger is not None:
356 return existing_logger
357 else:
358 # initialize and setup logging system for the InstaPy object
359 logger = logging.getLogger(self.username)
360 logger.setLevel(logging.DEBUG)
361 # log name and format
362 general_log = "{}general.log".format(self.logfolder)
363 file_handler = logging.FileHandler(general_log)
364 # log rotation, 5 logs with 10MB size each one
365 file_handler = RotatingFileHandler(
366 general_log, maxBytes=10 * 1024 * 1024, backupCount=5
367 )
368 file_handler.setLevel(logging.DEBUG)
369 extra = {"username": self.username}
370 logger_formatter = logging.Formatter(
371 "%(levelname)s [%(asctime)s] [%(username)s] %(message)s",
372 datefmt="%Y-%m-%d %H:%M:%S",
373 )
374 file_handler.setFormatter(logger_formatter)
375 logger.addHandler(file_handler)
376
377 # add custom user handler if given
378 if log_handler:
379 logger.addHandler(log_handler)
380
381 if show_logs is True:
382 console_handler = logging.StreamHandler()
383 console_handler.setLevel(logging.DEBUG)
384 console_handler.setFormatter(logger_formatter)
385 logger.addHandler(console_handler)
386
387 logger = logging.LoggerAdapter(logger, extra)
388
389 Settings.loggers[self.username] = logger
390 Settings.logger = logger
391 return logger
392
393 def set_selenium_remote_session(
394 self, logger, selenium_url: str = "", selenium_driver=None

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected