public void ResetLog(LogType t, string path, bool append)
        {
            _logType = t;
            _logPath = path;

            if(_loggerT!=null) _loggerT.Close();
            if(_loggerB!=null) _loggerB.Close();

            switch(t) {
                case LogType.None:
                    _loggerT = new NullTextLogger();
                    _loggerB = new NullBinaryLogger();
                    break;
                case LogType.Default:
                    _loggerT = new DefaultLogger(new StreamWriter(path, append, Encoding.Default));
                    _loggerB = new NullBinaryLogger();
                    break;
                case LogType.Binary:
                    _loggerT = new NullTextLogger();
                    _loggerB = new BinaryLogger(new FileStream(path, append? FileMode.Append : FileMode.Create));
                    break;
                case LogType.Xml:
                    _loggerT = new XmlLogger(new StreamWriter(path, append, Encoding.UTF8), _param); //DebugLog��UTF8
                    _loggerB = new NullBinaryLogger();
                    break;
            }
            _loggerT = new InternalLoggerT(_loggerT, this);
            _loggerB = new InternalLoggerB(_loggerB, this);
            _loggerT.TerminalResized(_width, _height);
        }