コード例 #1
0
 public void AddProvider(LanguageServer server, OmniSharpEnvironment environment)
 {
     if (environment.LogLevel <= LogLevel.Debug)
     {
         _provider.SetProvider(server, (category, level) => true);
     }
     else
     {
         _provider.SetProvider(server, (category, level) => HostHelpers.LogFilter(category, level, environment));
     }
 }
コード例 #2
0
        public Host(
            TextReader input, ISharedTextWriter writer, IOmniSharpEnvironment environment, IConfiguration configuration,
            IServiceProvider serviceProvider, CompositionHostBuilder compositionHostBuilder, ILoggerFactory loggerFactory, CancellationTokenSource cancellationTokenSource)
        {
            _cancellationTokenSource = cancellationTokenSource;
            _input           = input;
            _writer          = writer;
            _environment     = environment;
            _configuration   = configuration;
            _serviceProvider = serviceProvider;
            _loggerFactory   = loggerFactory.AddStdio(_writer, (category, level) => HostHelpers.LogFilter(category, level, _environment));

            _compositionHost     = compositionHostBuilder.Build();
            _cachedStringBuilder = new CachedStringBuilder();

            var handlers = Initialize();

            _endpointHandlers = handlers;
        }
コード例 #3
0
ファイル: Startup.cs プロジェクト: wk-j/omnisharp-roslyn
        public void Configure(
            IApplicationBuilder app,
            IServiceProvider serviceProvider,
            ILoggerFactory loggerFactory,
            IEventEmitter eventEmitter,
            ISharedTextWriter writer,
            HttpEnvironment httpEnvironment,
            IOptionsMonitor <OmniSharpOptions> options)
        {
            var workspace = _compositionHost.GetExport <OmniSharpWorkspace>();
            var logger    = loggerFactory.CreateLogger <Startup>();

            loggerFactory.AddConsole((category, level) =>
            {
                if (HostHelpers.LogFilter(category, level, _environment))
                {
                    return(true);
                }

                if (string.Equals(category, typeof(ExceptionHandlerMiddleware).FullName, StringComparison.OrdinalIgnoreCase))
                {
                    return(true);
                }

                return(false);
            });

            logger.LogInformation($"Starting OmniSharp on {Platform.Current}");

            app.UseRequestLogging();
            app.UseExceptionHandler("/error");
            app.UseMiddleware <EndpointMiddleware>(_compositionHost);
            app.UseMiddleware <StatusMiddleware>(workspace);
            app.UseMiddleware <StopServerMiddleware>();

            WorkspaceInitializer.Initialize(serviceProvider, _compositionHost, _configuration, logger);

            logger.LogInformation($"Omnisharp server running on port '{httpEnvironment.Port}' at location '{_environment.TargetDirectory}' on host {_environment.HostProcessId}.");
        }