/// <summary> /// Main Entry point of the Server. /// </summary> /// <param name="args">Arguments: arg[0] the LogLevel (0=Lifecycle,1=Message,2=Protocol) - args[1] a Log File</param> /// <see cref="TypeCobol.LanguageServer.StdioHttp.ServerLogLevel"/> static void Main(string[] args) { ServerLogLevel logLevel; TextWriter logWriter; GetArguments(args, out logLevel, out logWriter); // Open log file try { // Configure the protocols stack var httpServer = new StdioHttpServer(Encoding.UTF8, logLevel, logWriter); var jsonRPCServer = new JsonRPCServer(httpServer); var languageServer = new TypeCobolServer(jsonRPCServer); // Start listening to incoming request (block, infinite loop) httpServer.StartReceivingMessagesFor(jsonRPCServer); } finally { if (logWriter != System.Console.Error) { logWriter.Close(); } } }
static void Main(string[] args) { // args[0] : Trace level ServerLogLevel logLevel = (ServerLogLevel)Int32.Parse(args[0]); // args[1] : Log file name string logFile = args[1]; // Open log file using (StreamWriter sw = new StreamWriter(logFile)) { sw.AutoFlush = true; // Configure the protocols stack var httpServer = new StdioHttpServer(Encoding.UTF8, logLevel, sw); var jsonRPCServer = new JsonRPCServer(httpServer); var languageServer = new TypeCobolServer(jsonRPCServer); // Start listening to incoming request (block, infinite loop) httpServer.StartReceivingMessagesFor(jsonRPCServer); } }