Logging

Logging helper functions and common log formats.

get_logger(*args, **kwargs)

Depreciated, use setup_logger

get_registered_loggers(hide_children=False, hide_reusables=False)

Find the names of all loggers currently registered

Parameters:
  • hide_children – only return top level logger names
  • hide_reusables – hide the reusables loggers
Returns:

list of logger names

get_file_handler(file_path='out.log', level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s', handler=<class 'logging.FileHandler'>, **handler_kwargs)

Set up a file handler to add to a logger.

Parameters:
  • file_path – file to write the log to, defaults to out.log
  • level – logging level to set handler at
  • log_format – formatter to use
  • handler – logging handler to use, defaults to FileHandler
  • handler_kwargs – options to pass to the handler
Returns:

handler

get_stream_handler(stream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>, level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s')

Returns a set up stream handler to add to a logger.

Parameters:
  • stream – which stream to use, defaults to sys.stderr
  • level – logging level to set handler at
  • log_format – formatter to use
Returns:

stream handler

add_file_handler(logger=None, file_path='out.log', level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s')

Addes a newly created file handler to the specified logger

Parameters:
  • logger – logging name or object to modify, defaults to root logger
  • file_path – path to file to log to
  • level – logging level to set handler at
  • log_format – formatter to use
add_stream_handler(logger=None, stream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>, level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s')

Addes a newly created stream handler to the specified logger

Parameters:
  • logger – logging name or object to modify, defaults to root logger
  • stream – which stream to use, defaults to sys.stderr
  • level – logging level to set handler at
  • log_format – formatter to use
add_rotating_file_handler(logger=None, file_path='out.log', level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s', max_bytes=10485760, backup_count=5, **handler_kwargs)

Adds a rotating file handler to the specified logger.

Parameters:
  • logger – logging name or object to modify, defaults to root logger
  • file_path – path to file to log to
  • level – logging level to set handler at
  • log_format – log formatter
  • max_bytes – Max file size in bytes before rotating
  • backup_count – Number of backup files
  • handler_kwargs – options to pass to the handler
add_timed_rotating_file_handler(logger=None, file_path='out.log', level=20, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s', when='w0', interval=1, backup_count=5, **handler_kwargs)

Adds a timed rotating file handler to the specified logger. Defaults to weekly rotation, with 5 backups.

Parameters:
  • logger – logging name or object to modify, defaults to root logger
  • file_path – path to file to log to
  • level – logging level to set handler at
  • log_format – log formatter
  • when
  • interval
  • backup_count – Number of backup files
  • handler_kwargs – options to pass to the handler
change_logger_levels(logger=None, level=10)

Go through the logger and handlers and update their levels to the one specified.

Parameters:
  • logger – logging name or object to modify, defaults to root logger
  • level – logging level to set at (10=Debug, 20=Info, 30=Warn, 40=Error)
remove_all_handlers(logger=None)

Safely remove all handlers from the logger

Parameters:logger – logging name or object to modify, defaults to root logger
remove_file_handlers(logger=None)

Remove only file handlers from the specified logger. Will go through and close each handler for safety.

Parameters:logger – logging name or object to modify, defaults to root logger
remove_stream_handlers(logger=None)

Remove only stream handlers from the specified logger

Parameters:logger – logging name or object to modify, defaults to root logger
setup_logger(module_name=None, level=20, stream=<_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>, file_path=None, log_format='%(asctime)s - %(name)-12s %(levelname)-8s %(message)s', suppress_warning=True)

Grabs the specified logger and adds wanted handlers to it. Will default to adding a stream handler.

Parameters:
  • module_name – logger name to use
  • level – logging level to set logger at
  • stream – stream to log to, or None
  • file_path – file path to log to, or None
  • log_format – format to set the handlers to use
  • suppress_warning – add a NullHandler if no other handler is specified
Returns:

configured logger