def METHOD_NAME(self, data):
    """Parse existing syslog conf and apply new syslog conf.
    Args:
        data (dict): Data of the entry: {<field_name>: <field_value>}
    """
    new_interval = '0' if not data else data.get(SYSLOG_RATE_LIMIT_INTERVAL, '0')
    new_burst = '0' if not data else data.get(SYSLOG_RATE_LIMIT_BURST, '0')
    if new_interval == self.current_interval and new_burst == self.current_burst:
        logger.log_notice('Syslog rate limit configuration does not change, ignore it')
        return
    logger.log_notice(f'Configure syslog rate limit interval={new_interval}, burst={new_burst}')
    if os.path.exists(self.TMP_SYSLOG_CONF_PATH):
        os.remove(self.TMP_SYSLOG_CONF_PATH)
    with open(self.TMP_SYSLOG_CONF_PATH, 'w+') as f:
        json_args = f'{{"target_ip": "{self.target_ip}", "container_name": "{container_name}" }}'
        output = run_command(['sonic-cfggen', '-d', '-t', '/usr/share/sonic/templates/rsyslog-container.conf.j2', '-a', json_args])
        f.write(output)
    run_command(['cp', self.TMP_SYSLOG_CONF_PATH, self.SYSLOG_CONF_PATH])
    run_command(['supervisorctl', 'restart', 'rsyslogd'])
    self.current_interval = new_interval
    self.current_burst = new_burst