/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer/Logging/LspLogMessageLoggerProvider.cs
31 строка
1 KB
David Barbet
Refactor LSP server logging to remove singleton lsp instance (#84001)
16 июн 2026, 05:04
Не верифицирован
16 июн 2026, 05:04
82e81e5
Код
Авторство
О чём код?
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Concurrent; using Microsoft.Extensions.Logging; namespace Microsoft.CodeAnalysis.LanguageServer.Logging; internal sealed class LspLogMessageLoggerProvider( IClientLanguageServerManager clientLanguageServerManager, LogConfiguration logConfiguration) : ILoggerProvider, ISupportExternalScope { private readonly ConcurrentDictionary<string, LspLogMessageLogger> _loggers = new(StringComparer.OrdinalIgnoreCase); private IExternalScopeProvider? _externalScopeProvider; public ILogger CreateLogger(string categoryName) { return _loggers.GetOrAdd(categoryName, new LspLogMessageLogger(categoryName, clientLanguageServerManager, logConfiguration, _externalScopeProvider)); } public void Dispose() { _loggers.Clear(); } public void SetScopeProvider(IExternalScopeProvider scopeProvider) { _externalScopeProvider = scopeProvider; } }