Currently, clangd prints all the LSP communication on stderr. While
this is good for developping, I don't think it's good as a general
default. For example, we are integrating clangd (and other language
servers) in an IDE, and we print everything the language servers send on
their stderr on our own stderr. Printing the whole LSP communication
adds a lot of noise. If there are actual error messages to be printed,
then it makes sense to output them on stderr.
Also, an IDE or tool that integrates many language servers will likely
have its own way of logging LSP communication in a consistent way, so
it's better to leave it to that tool to log the LSP communication if it
wants to.
An alternative would be to introduce log levels (debug, info, warning,
error), and output LSP communications only at the debug log level.
Signed-off-by: Simon Marchi <simon.marchi@ericsson.com>
Since we're replacing log with vlog here, could we add a normal info log that captures the name of the LSP method?
And log with LSP method name should probably go before vlog with message contents, that's easy to achieve by moving the logging code into the body of Dispatcher.call