protected function init(array $user_options=array(), $logname = null)
    {
        $this->logname = $logname;
        if (true===self::$isInited) return;
        foreach (self::$config as $_static=>$_value) {
            $this->$_static = $_value;
        }
        foreach ($user_options as $_static=>$_value) {
            if (isset($this->$_static) && is_array($this->$_static)) {
                $this->$_static = array_merge($this->$_static,
                    is_array($_value) ? $_value : array($_value));
            } else {
                $this->$_static = $_value;
            }
        }
        self::$isInited = true;
    }