code: public function setData($path, $value = null)
      {
          if (\is_string($path)) {
              $path = \preg_split('#[\./]#', $path);
              $ref = &$this->data;
              foreach ($path as $k) {
                  $ref = &$ref[$k];
              }
              $ref = $value;
          } else {
              $this->data = \array_merge($this->data, $path);
          }
          if (!$this->data['log']) {
              $this->data['groupStacks']['main'] = array();
          }
          if (!$this->data['logSummary']) {
              $this->data['groupStacks'] = \array_intersect_key(
                  $this->data['groupStacks'],
                  array('main' => true)
              );
              $this->data['groupPriorityStack'] = array();
          }
          $this->setLogDest();
      }
docs: Advanced usage
  
  setCfg('key', 'value')
  setCfg('level1.level2', 'value')
  setCfg(array('k1'=>'v1', 'k2'=>'v2'))
  
  @param string|array $path  path
  @param mixed        $value value
  
  @return void