-
Notifications
You must be signed in to change notification settings - Fork 35
Add logging on all RESTful and WebSocket requests in VS Code #580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
eb8a0a3 to
2f0593d
Compare
2285279 to
e32ba50
Compare
code-asher
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not had a chance to run it yet (hopefully tomorrow) but gave it a first pass and it is looking fantastic!
e64e992 to
e97e687
Compare
d33d380 to
6739540
Compare
|
Feel free to re-request a review whenever you are ready for a new one! |
c1cf229 to
5ae5b5a
Compare
Ready for re-review 🙏 |
code-asher
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tried it out and it looks glorious
|
One other minor note: The comment for |
|
I have to admit the |
With estimation it looks like this (I simply use Or possibly default to But I just realized that showing this info for |
|
I like it with the estimation!
Ohhhhh yeah good point. Personally I like the consistency of always seeing bytes, but I will defer to you if you want to remove it for get requests or show zero. 👌 |
For consistency I'll show 0 for now, I was just worried it'll cause confusion since people might assume that a |
723960d to
f87f941
Compare
Fixes #532
This PR introduces several enhancements to improve logging and consistency:
Axios Logging Interceptor
Added a logging interceptor to the Axios instance during its creation. Each request is tagged with a unique UUID, allowing us to correlate it with its corresponding response and measure the total in-flight time. To avoid excessive noise, response bodies are deliberately excluded from the logs as they were too verbose and difficult to read.
Unified WebSocket Creation
Consolidated WebSocket creation logic by standardizing on a
OneWayWebSocket. For VS Code, this uses thewsNode library. Previously, there were two separate places creating their own WebSocket connections and another two relying on SSE. These SSE implementations were converted to one-way WebSockets for improved consistency and performance. Additional logging was also added to track WebSocket creation, errors, and closure events.For now, the logging level is set to
tracefor non-error logs anderrorfor errors. This can easily be adjusted later. I have also isolated the logging logic inloggingso it's all in one place. Let me know if we want to add more details or possibly remove some.