microsoft/vscode-languageserver-node

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

オープン

#1,613 opened on 2025/02/08

 (2 件のコメント) (0 件のリアクション) (0 人の担当者)TypeScript (397 件のフォーク)auto 404
feature-requesthelp wanted

Repository metrics

Stars
 (1,776 個のスター)
PR merge metrics
 (PR metrics pending)

説明

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

コントリビューターガイド