Beispiel #1
0
        static void Main(string[] args)
        {
            Shell shell = new Shell(PeerGroupFactory.NewNetPeerGroup());

            LogSelector logSelector = new LogSelector();

            logSelector.InvertCategories = true;

            StandardLogger logger = new StandardLogger();

            logger.LogSelector = logSelector;

            int logDepth = 2;

            for (int i = 0; i < args.Length; i++)
            {
                switch (args[i])
                {
                case "-v":
                    logDepth++;
                    break;

                case "-f":
                    if (args.Length > i)
                    {
                        logger.LogWriter = new StreamWriter(args[++i]);
                    }
                    break;

                default:
                    Console.WriteLine("# Error - Bad option");
                    shell.PrintHelp();
                    return;
                }
            }

            if (logDepth > 0)
            {
                logSelector.AddLogLevel((LogLevels)((int)(Math.Pow(2, logDepth) - 1)));
            }

            GlobalLogger.AppendLogEvent += logger.AppendLogMessage;
            GlobalLogger.StartLogging();

            shell.PrintWelcome();
            shell.ControlLoop();

            Console.WriteLine("Exiting Jxta.NET Shell");

            GlobalLogger.StopLogging();
            GlobalLogger.AppendLogEvent -= logger.AppendLogMessage;
        }