code: func (arc *ConfigFactory) RegisterListener(listenerObj core.EventListener, keys ...string) error {
  	for _, key := range keys {
  		_, err := regexp.Compile(key)
  		if err != nil {
  			openlogging.GetLogger().Error(fmt.Sprintf("invalid key format for %s key. key registration ignored: %s", key, err))
  			return fmt.Errorf("invalid key format for %s key", key)
  		}
  	}
  
  	return arc.dispatcher.RegisterListener(listenerObj, keys...)
  }
docs: // RegisterListener Function to Register all listener for different key changes