<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_router(self, path, router):
 """ Adds a router to the list of routers Args: path (str or regex):
 The path on which the router binds router (growler.Router):
 The router which will respond to requests Raises: TypeError: If `strict_router_check` attribute is True and the router is not an instance of growler.Router. """

        if self.strict_router_check and not isinstance(router, Router):
            raise TypeError("Expected object of type Router, found %r" % type(router))

        log.info("{} Adding router {} on path {}", id(self), router, path)
        self.middleware.add(path=path,
                            func=router,
                            method_mask=HTTPMethod.ALL,)