def __init__(<EOL>self,<EOL>log_lvl=DEFAULT_LOG_LVL, log_name=None, log_path=DEFAULT_LOG_PATH,<EOL>log_handler=_filehandler, log_info_format=INFO_FORMAT,<EOL>log_debug_format=DEBUG_FORMAT, log_warning_format=WARNING_FORMAT,<EOL>log_error_format=ERROR_FORMAT, log_critical_format=CRITICAL_FORMAT,<EOL>*args, **kwargs<EOL>):
super(Logger, self).__init__(*args, **kwargs)<EOL>self._log_lvl = log_lvl<EOL>self._log_path = log_path<EOL>self._log_handler = log_handler<EOL>self._log_name = log_name if log_name else type(self).__name__.lower()<EOL>self._log_debug_format = log_debug_format<EOL>self._log_info_format = log_info_format<EOL>self._log_warning_format = log_warning_format<EOL>self._log_error_format = log_error_format<EOL>self._log_critical_format = log_critical_format<EOL>if self.logger is None:<EOL><INDENT>self.logger = self.newlogger()<EOL><DEDENT>
:param str log_lvl: logging level. Default is INFO.
:param str log_name: logger name. Default is configurable class lower
    name.
:param str log_path: logging file path. Default is current directory.
:param log_handler: function which takes in parameter self configurable
    and returns a logging Handler.
:param str log_info_format: info logging level format.
:param str log_debug_format: debug logging level format.
:param str log_warning_format: warning logging level format.
:param str log_error_format: error logging level format.
:param str log_critical_format: critical logging level format.