def set_logging(<EOL>logger_name="<STR_LIT>",<EOL>level=logging.INFO,<EOL>handler_class=logging.StreamHandler,<EOL>handler_kwargs=None,<EOL>format='<STR_LIT>',<EOL>date_format='<STR_LIT>'):
logger = logging.getLogger(logger_name)<EOL>logger.setLevel(level)<EOL>if not [x for x in logger.handlers if isinstance(x, handler_class)]:<EOL><INDENT>handler_kwargs = handler_kwargs or {}<EOL>handler = handler_class(**handler_kwargs)<EOL>handler.setLevel(level)<EOL>formatter = logging.Formatter(format, date_format)<EOL>handler.setFormatter(formatter)<EOL>logger.addHandler(handler)<EOL><DEDENT>return logger<EOL>
Set personal logger for this library.

:param logger_name: str, name of the logger
:param level: int, see logging.{DEBUG,INFO,ERROR,...}: level of logger and handler
:param handler_class: logging.Handler instance, default is StreamHandler (/dev/stderr)
:param handler_kwargs: dict, keyword arguments to handler's constructor
:param format: str, formatting style
:param date_format: str, date style in the logs
:return: logger instance