public Config(bool daemon = false)
        {
            Daemon    = daemon;
            Root      = ExecutableTools.Relative(@"Root");
            WebRoot   = PathTools.Combine(Root, "Web");
            WebIP     = "127.0.0.1";
            WebPort   = 12334;
            ShellRoot = PathTools.Combine(Root, "Test_{0}", TimeTools.Compact(DateTime.Now));
            ShellIP   = "127.0.0.1";
            ShellPort = 12333;

            Directory.CreateDirectory(WebRoot);
            Directory.CreateDirectory(ShellRoot);

            var writers = new WriteLineCollection();

            writers.Add(new StdoutWriteLine());
            var logfile = PathTools.Combine(Root, "log.txt");

            log = new StreamWriter(logfile, true);
            writers.Add(new TextWriterWriteLine(log));
            Timed        = new TimedWriter(writers);
            Logger.TRACE = Timed;
            writers.WriteLine(string.Empty); //separating line
            writers.WriteLine("");
            Logger.Trace("-----------------------------------------------------------------------------");
            Logger.Trace("Test case {0} starting...", TestContext.CurrentContext.Test.FullName);
            //System.InvalidOperationException : This property has already been set and cannot be modified.
            //Thread.CurrentThread.Name = "NUnit";
        }
        public Simple()
        {
            var writers = new WriteLineCollection();

            writers.Add(new StdoutWriteLine());
            var logfile = ExecutableTools.Relative("log.txt");

            log = new StreamWriter(logfile, true);
            writers.Add(new TextWriterWriteLine(log));
            Logger.TRACE = new TimedWriter(writers);
            writers.WriteLine(string.Empty); //separating line
            writers.WriteLine("");
            Logger.Trace("-----------------------------------------------------------------------------");
            Logger.Trace("Test case {0} starting...", TestContext.CurrentContext.Test.FullName);
        }