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)); } }
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; }
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}."); }