microsoft/vscode-languageserver-node

VSCode language client should configure logger pointing to the output channel rather than console

Aberta

#1.613 aberto em 8 de fev. de 2025

 (2 comentários) (0 reação) (0 responsável)TypeScript (397 forks)auto 404
feature-requesthelp wanted

Métricas do repositório

Stars
 (1.776 estrelas)
Métricas de merge de PR
 (Métricas PR pendentes)

Description

I recently received a user report of a bug in my language server, but the expected error log did not show in the configured output channel as I expected. Typically I direct users to look into this output channel when reporting issues.

I happened to find the error after I opened Developer: Toggle Developer Tools and saw the error log in the developer console, rather than the output channel:

The logged error was a Received response message without id, and looking at the code this comes from a call to logger.error:

https://github.com/microsoft/vscode-languageserver-node/blob/d810d51297c667bd3a3f46912eb849055beb8b6b/jsonrpc/src/common/connection.ts#L909

Logger is configurable, and after looking around I found that the client configures the logger as a ConsoleLogger, which is why it ends up going to the developer console:

https://github.com/microsoft/vscode-languageserver-node/blob/d810d51297c667bd3a3f46912eb849055beb8b6b/client/src/common/client.ts#L2409

What do you think about changing this to log into the vscode output channel rather than the console? I believe this will make the logs more visible for debugging

Guia do colaborador