<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cfg_sync_routers(self, context, host, router_ids=None, hosting_device_ids=None):
 """Sync routers according to filters to a specific Cisco cfg agent. :param context: contains user information :param host: originator of callback :param router_ids: list of router ids to return information about :param hosting_device_ids: list of hosting device ids to get routers for. :returns: a list of routers with their hosting devices, interfaces and floating_ips """

        adm_context = bc.context.get_admin_context()
        try:
            routers = (
                self._l3plugin.list_active_sync_routers_on_hosting_devices(
                    adm_context, host, router_ids, hosting_device_ids))
        except AttributeError:
            routers = []
        LOG.debug('Routers returned to Cisco cfg agent@%(agt)s:\n %(routers)s',
                  {'agt': host, 'routers': jsonutils.dumps(routers, indent=5)})
        return routers